2022 KAKAO BLIND RECRUITEMENT
Lv2. k์ง์์์ ์์ ๊ฐ์ ๊ตฌํ๊ธฐ
๋ฌธ์ : https://programmers.co.kr/learn/courses/30/lessons/92335
ํ๋ก๊ทธ๋๋จธ์ค
์ฝ๋ ์ค์ฌ์ ๊ฐ๋ฐ์ ์ฑ์ฉ. ์คํ ๊ธฐ๋ฐ์ ํฌ์ง์ ๋งค์นญ. ํ๋ก๊ทธ๋๋จธ์ค์ ๊ฐ๋ฐ์ ๋ง์ถคํ ํ๋กํ์ ๋ฑ๋กํ๊ณ , ๋์ ๊ธฐ์ ๊ถํฉ์ด ์ ๋ง๋ ๊ธฐ์ ๋ค์ ๋งค์นญ ๋ฐ์ผ์ธ์.
programmers.co.kr
๐ธ ๋ด๊ฐ ์๊ฐํ ์ ๊ทผ ๋ฐฉ๋ฒ
n์ k์ง์๋ก ๋ณํ.
0์ผ๋ก ์ซ์์ด์ ๋๋. ๋๋ ์ง ์ซ์์ค ์์์ ๊ฐฏ์๋ฅผ ์ .
def solution(n, k):
#n์ k์ง์๋ก ๋ณํ
tran = trans(n,k)
cnt = 0
for i in tran.split('0'):
if not i :
continue
if cal(int(i)):
cnt += 1
return cnt
#n์ k์ง์๋ก ๋ณํ
def trans(n, k):
trans = ""
while n >= 1:
if n == 1:
trans = "1" + trans
break
else:
trans = str(n%k) + trans
n = n//k
return trans
#์์๋ง ๋จ๊ธฐ๊ธฐ
def cal(i):
if i <= 1:
return False
if i == 2:
return True
else:
a = 2
while a*a <= i:
if i%a == 0:
return False
else:
a += 1
return True
๐ Key Point
๐ธ split(โ0โ)์ ๋ฐ๋ก ์ฐ์ง ์๊ณ for ๋ฌธ ์์๋ค๊ฐ ์ผ์ โ for i in list.split(โ0โ)
๐ธ k์ง์๋ก ๋ณํํ ๋, list ๊ฑฐ๊พธ๋ก ์ฐ๋ ๋ฐฉ๋ฒ ์ฌ์ฉ ํ๋ ค ํ์ผ๋ ์คํ์๊ฐ์ด ๊ธธ์ด์ ธ์ ๋ฌธ์์ด ์ฌ์ฉ์ผ๋ก ๋ฐ๊ฟ
๐ธ ๋ฌธ์์ด ์ฌ์ฉํ๊ณ split()์ ์ฌ์ฉํด์ ๋ค์ ๊ณต๋ฐฑ์ด ๋ค์ด๊ฐ๋ case๊ฐ ์์
๐ธ ๊ณต๋ฐฑ์ด ๋ค์ด๊ฐ๋ case๋ if not i: continue ๋ก ์ ๊ฑฐ
๐ธ ๋ง๋ case๋ง list์ ๋จ๊ธฐ๊ณ ๊ธธ์ด ์ธ๋ ค๊ณ ํ๋๋ฐ cnt ๋ก ๋ง๋ ๊ฒฝ์ฐ๋ง True๋ก return ํ ํ์ ํ๋์ฉ ๋ํด์ฃผ๋๊ฒ ๋ ๋น ๋ฅด๊ณ ์ข์
๐ธ k์ง์ ๋ณํํ ๋ ๋ค์ ๋ํด๊ฐ๋ ๊ฑด +๋ก ํ๋ฉด ์ซ์ ์ทจ๊ธํด์ ์ ๋ง๋ก ๋ํด๋ฒ๋ฆฌ๋๊น.. ๋ฌธ์์ด ์ทจ๊ธํด์!
๐ธ๋ชซ, ๋๋จธ์ง ๊ตฌํ๋ ํจ์ N, V = divmod( n, k ) nโ ๋ชซ, vโ๋๋จธ์ง // ํ๋๋ง ํ์ํ ๋ ๋๋จธ์ง ์๋ฆฌ์ N,_ ์ด๋ _,V ํ๋ฉด ๋จ!
'๐ถ Programming > ์๊ณ ๋ฆฌ์ฆ ๋ฌธ์ ํ๊ธฐ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
2021 ์นด์นด์ค ์ฑ์ฉ์ฐ๊ณํ ์ธํด์ญ Lv2. ๊ฑฐ๋ฆฌ๋๊ธฐ ํ์ธํ๊ธฐ (0) | 2022.09.11 |
---|---|
2021 ์นด์นด์ค ์ฑ์ฉ์ฐ๊ณํ ์ธํด์ญ Lv1. ์ซ์ ๋ฌธ์์ด๊ณผ ์๋จ์ด (0) | 2022.07.17 |
2022 KAKAO BLIND RECRUITEMENT Lv2. ์๊ถ๋ํ (0) | 2022.07.17 |
2022 KAKAO BLIND RECRUITEMENT Lv2. ์ฃผ์ฐจ์๊ธ ๊ณ์ฐ (0) | 2022.07.07 |
2022 KAKAO BLIND RECRUITEMENT Lv1. ์ ๊ณ ๋ฐ๊ธฐ (0) | 2022.07.07 |