def isPrime(num):
if num<2:
return False
for i in range(2, int(num**0.5) +1):
if num % i == 0:
return False
return True
def solution(n, k):
digits = []
# n을 k진수로 변환
while n > 0:
digits.append(str(n % k)) # ' '.join사용하려면 str로 변환해야함
n //= k
num = ''.join(reversed(digits)) # k진수로 변환한 문자열
num_list = num.split('0') # 0을 기준으로 분할
prime_count = 0 # 소수의 개수를 세기 위한 변수
for i in num_list:
if i and is_prime(int(i)): # 빈 문자열이 아닌 경우에만 소수 확인
prime_count += 1 # 소수일 경우 카운트 증가
return prime_count # 소수의 개수 반환
- k진수로 변환할 때 k로 나눈 나머지를 뒤로 정렬하면 된다는 것을 알 수 있었고, 소수 함수 구현은 이제 그냥 할 수 있을 것 같다 !!