728x90
https://programmers.co.kr/learn/courses/30/lessons/92335?language=python3
코딩테스트 연습 - k진수에서 소수 개수 구하기
문제 설명 양의 정수 n이 주어집니다. 이 숫자를 k진수로 바꿨을 때, 변환된 수 안에 아래 조건에 맞는 소수(Prime number)가 몇 개인지 알아보려 합니다. 0P0처럼 소수 양쪽에 0이 있는 경우 P0처럼 소
programmers.co.kr
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 |