문제
https://school.programmers.co.kr/learn/courses/30/lessons/92335
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
풀이
단순한 문제이다. 조건이 많아보이지만 k진수로 바꿔준 후에 0을 기준으로 숫자를 나눈후에 그 숫자가 소수인지 아닌지 판별해주면 끝이다. 뭐 0이 옆에 있고 이런거 안따져도 된다. 다 따져보면 결국 소수값인지 판별만 하면 되는것이다.
단 17003 이런식일시 0과 0 사이의 결과가 ' ' (공백) 으로 반환되기에 예외처리를 해주면 된다.
코드
import math
def is_prime_number(x):
for i in range(2, int(math.sqrt(x)) + 1):
if x % i == 0:
return False
return True
def solution(n, k):
t_int = 0
count = 1
answer = 0
while n!=0:
t_int += n%k * count
count *= 10
n//=k
res = str(t_int).split('0')
for r in res:
if r != '' and int(r) != 1 :
if is_prime_number(int(r)) :
answer += 1
return answer
후기
무지성으로 풀었는데 맞았다! 생각보다 너무 단순해서 놀랐다
'프로그래머스' 카테고리의 다른 글
LV2 [KAKAO] [1차] 프렌즈4블록 (0) | 2023.08.14 |
---|---|
LV2 [KAKAO] [3차] 파일명 정렬 (0) | 2023.06.20 |
LV2 [KAKAO] 후보키 (0) | 2023.06.11 |
LV2 [KAKAO] n진수 게임 (1) | 2023.06.09 |
LV2 [KAKAO] 순위 검색 (0) | 2023.06.05 |