https://programmers.co.kr/learn/courses/30/lessons/92335
처음에 문제를 제대로 이해 못 해서 당황했다
그냥 해당 진수로 변경하고, 0이 나올 때마다 그 앞자리가 소수인지 확인하면 된다.
나의 풀이
import math
def is_prime_number(x):
if x < 2 :
return False
for i in range(2, int(math.sqrt(x)) + 1):
if x % i == 0:
return False
return True
def change(n, q):
rev_base = ''
while n > 0:
n, mod = divmod(n, q)
rev_base += str(mod)
return rev_base[::-1]
def solution(n, k):
answer = 0
n = change(n, k)
prime = ''
for num in n:
if num == '0':
if prime != '' and is_prime_number(int(prime)):
answer += 1
prime = ''
else:
prime += num
if prime != '' and is_prime_number(int(prime)):
answer += 1
return answer
'Programming > Programmers' 카테고리의 다른 글
[프로그래머스] 주차 요금 계산(Python) (0) | 2022.01.23 |
---|---|
[프로그래머스] 양궁대회 (Python) (0) | 2022.01.23 |
[프로그래머스] 신고 결과 받기 (Python) (0) | 2022.01.19 |
탑 프로그래머스 ..! (4) | 2022.01.13 |
[프로그래머스] 무지의 먹방 라이브 (Python) (0) | 2021.12.28 |
댓글