728x90
https://programmers.co.kr/learn/courses/30/lessons/92335?language=python3
k 진법으로 숫자를 변환한 후
0 을 기준으로 숫자를 나누고
그 숫자들이 소수가 맞는지 판단하면 되는문제
import math
def trans_to_k_number(n, k):
return_str = ""
while n >= k:
return_str = str(n % k) + return_str
n = n // k
if n != 0:
return_str = str(n) + return_str
return return_str
def is_prime(x):
if x == 1:
return False
for i in range(2, int(math.sqrt(x)) + 1):
if x % i == 0:
return False
return True
def solution(n, k):
answer = 0
k_number = trans_to_k_number(n, k)
for num in k_number.split("0"):
if num == "":
continue
if is_prime(int(num)):
answer += 1
return answer
solution(110011, 10)
728x90
'PS > 프로그래머스' 카테고리의 다른 글
[ 프로그래머스 LV 2 ] 주차 요금 계산 (파이썬 / python) (0) | 2022.10.18 |
---|---|
[프로그래머스 LV 1] 성격 유형 검사하기 (파이썬/python) (0) | 2022.10.14 |
[프로그래머스 LV 3] 합승 택시요금 (파이썬/python) (0) | 2022.03.05 |
[프로그래머스 LV.3] 표 편집 (파이썬/python) (0) | 2022.03.05 |
[프로그래머스 LV 2] 모음사전 (파이썬/python) (0) | 2021.11.19 |