๐Ÿค–/ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค | Lv2] k์ง„์ˆ˜์—์„œ ์†Œ์ˆ˜ ๊ฐœ์ˆ˜ ๊ตฌํ•˜๊ธฐ (Python) - 2022 KAKAO BLIND RECRUITMENT

sssbin 2023. 3. 1. 14:23

 

https://school.programmers.co.kr/learn/courses/30/lessons/92335

 

ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค

์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”.

programmers.co.kr

 

n์„ k์ง„์ˆ˜๋กœ ๋ณ€ํ™˜ํ•˜๊ณ (n์ด 0์ด ๋  ๋•Œ๊นŒ์ง€ k๋กœ ๋‚˜๋ˆˆ๋‹ค.),

0์„ ํฌํ•จํ•˜์ง€ ์•Š๋Š” ์ˆ˜๋งŒ ๋ถ„๋ฆฌํ•˜์—ฌ(split('0'))

์†Œ์ˆ˜์ธ์ง€ ํŒ๋ณ„ํ•ด์ฃผ๋ฉด ๋œ๋‹ค. 

 

์ฒ˜์Œ์—” findPrime์—์„œ ๋ฐ˜๋ณต๋ฌธ์˜ ๋ฒ”์œ„๋ฅผ (2, num//2)๋กœ ์„ค์ •ํ•ด์คฌ์—ˆ๋Š”๋ฐ, tc1์—์„œ ์‹œ๊ฐ„ ์ดˆ๊ณผ๊ฐ€ ๋‚ฌ๋‹ค. 

๊ทธ๋ž˜์„œ ๋ฒ”์œ„๋ฅผ ๋‹ค์‹œ (2, ์ œ๊ณฑ๊ทผ+1)๋กœ ์„ค์ •ํ•ด์คฌ๋‹ค.

 

# ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค 92335: k์ง„์ˆ˜์—์„œ ์†Œ์ˆ˜ ๊ฐœ์ˆ˜ ๊ตฌํ•˜๊ธฐ (2022 KAKAO BLIND RECRUITMENT)

def findPrime(num): # ์†Œ์ˆ˜ ์ฐพ๊ธฐ
    if num == 1:
        return False
    for i in range(2, int(num**(1/2))+1):
        if num % i == 0:
            return False
    return True

def solution(n, k):
    s = ''
    while n > 0: # k์ง„์ˆ˜๋กœ ๋ณ€ํ™˜
        s = str(n % k) + s
        n //= k
    
    answer = 0
    for i in s.split('0'):
        if i != '':
            if (findPrime(int(i))):
                answer += 1
            
    return answer