문제 링크
https://programmers.co.kr/learn/courses/30/lessons/92335
코딩테스트 연습 - k진수에서 소수 개수 구하기
문제 설명 양의 정수 n이 주어집니다. 이 숫자를 k진수로 바꿨을 때, 변환된 수 안에 아래 조건에 맞는 소수(Prime number)가 몇 개인지 알아보려 합니다. 0P0처럼 소수 양쪽에 0이 있는 경우 P0처럼 소
programmers.co.kr
풀이
1. 주어진 진법으로 변환한 뒤 0을 기준으로 나눠준다.
2. 분리된 숫자에 대해서 소수인지 판별
소수 구하는 함수 설명은 아래 참고
https://zzion2.tistory.com/129
[백준 1929번] 소수 구하기 -python
문제링크 https://www.acmicpc.net/problem/1929 1929번: 소수 구하기 첫째 줄에 자연수 M과 N이 빈 칸을 사이에 두고 주어진다. (1 ≤ M ≤ N ≤ 1,000,000) M이상 N이하의 소수가 하나 이상 있는 입력만 주어진..
zzion2.tistory.com
# n의 base 진법으로 나타낸 수 구하기
def cal(n, base):
ans = ''
while n > 0 :
n, r = divmod(n, base)
ans += str(r)
return ans[::-1]
def solution(n, k):
# 변환한 수
c_num = cal(n,k)
# 소수의 개수
cnt = 0
# '0' 기준으로 나누기
num_list = c_num.split('0')
for num in num_list:
# 연속된 0의 경우 ''가 나타날 수 있으므로
if num == '':
continue
num = int(num)
# 소수 판별하기
result = True
if num == 1 :
continue
for i in range(2, int(num**0.5)+1):
if num % i == 0:
result = False
break
if result :
cnt += 1
return cnt
'개발 > algorithm' 카테고리의 다른 글
[프로그래머스][level3] N-Queen - python (0) | 2022.04.28 |
---|---|
[백준 9663번] N-Queen - python (0) | 2022.04.28 |
[프로그래머스][level2] [3차] 파일명 정렬 - python (0) | 2022.04.27 |
[프로그래머스][level2] [3차] n진수 게임 - python (0) | 2022.04.27 |
[프로그래머스][level2] 2개 이하로 다른 비트 - python (0) | 2022.04.27 |