알고리즘/프로그래머스
[2022 KAKAO BLIND RECRUITMENT] k진수에서 소수 개수 구하기
래울
2022. 6. 24. 06:48
https://programmers.co.kr/learn/courses/30/lessons/92335
코딩테스트 연습 - k진수에서 소수 개수 구하기
문제 설명 양의 정수 n이 주어집니다. 이 숫자를 k진수로 바꿨을 때, 변환된 수 안에 아래 조건에 맞는 소수(Prime number)가 몇 개인지 알아보려 합니다. 0P0처럼 소수 양쪽에 0이 있는 경우 P0처럼 소
programmers.co.kr
문제자체는 간단하다.
1. 진수변환
2. 조건에 맞는 소수 판별
# 어찌저찌 길이 줄여봄...
import math
def solution(n, k):
num = ''
while n > 0:
n, mod = divmod(n, k) #몫과 나머지를 돌려줌
num += str(mod)
numbers = [int(i) for i in num[::-1].split('0') if i != '']
return sum([1 for n in numbers if isPrime(n)])
def isPrime(number):
if number==1:
return False
for i in range(2, int(math.sqrt(number)) + 1):
if number%i==0:
return False
return True