728x90
๋ฐ์ํ
ํ๋ก๊ทธ๋๋จธ์ค
์ฝ๋ ์ค์ฌ์ ๊ฐ๋ฐ์ ์ฑ์ฉ. ์คํ ๊ธฐ๋ฐ์ ํฌ์ง์ ๋งค์นญ. ํ๋ก๊ทธ๋๋จธ์ค์ ๊ฐ๋ฐ์ ๋ง์ถคํ ํ๋กํ์ ๋ฑ๋กํ๊ณ , ๋์ ๊ธฐ์ ๊ถํฉ์ด ์ ๋ง๋ ๊ธฐ์ ๋ค์ ๋งค์นญ ๋ฐ์ผ์ธ์.
programmers.co.kr
"""
์์ธ์๋ถํด๋ ์ด๋ค ์๋ฅผ ์์๋ค์ ๊ณฑ์ผ๋ก ํํํ๋ ๊ฒ์
๋๋ค.
์๋ฅผ ๋ค์ด 12๋ฅผ ์์ธ์ ๋ถํดํ๋ฉด 2 * 2 * 3 ์ผ๋ก ๋ํ๋ผ ์ ์์ต๋๋ค.
๋ฐ๋ผ์ 12์ ์์ธ์๋ 2์ 3์
๋๋ค. ์์ฐ์ n์ด ๋งค๊ฐ๋ณ์๋ก ์ฃผ์ด์ง ๋
n์ ์์ธ์๋ฅผ ์ค๋ฆ์ฐจ์์ผ๋ก ๋ด์ ๋ฐฐ์ด์ returnํ๋๋ก solution ํจ์๋ฅผ ์์ฑํด์ฃผ์ธ์.
"""
def solution(n):
result = []
divide_num = 2
while n!=1:
if n%divide_num == 0:
n/= divide_num
result.append(divide_num)
else:
divide_num += 1
return sorted(set(result))
"""
๋๋ ์ 0์ด ๋๋ฉด ์ฝ์์ด๊ธฐ ๋๋ฌธ์ ์ ์ฅํ๋ค๋ ์๊ฐ์ผ๋ก ์ฝ๋๋ฅผ ์งฐ๋ค.
์ฝ์๋ผ๋ฉด result์ ์ถ๊ฐํ๊ณ n์ divide_num์ผ๋ก ๋๋์๋ค.
4๋ผ๊ณ ๊ฐ์ ํ๋ค๋ฉด 2๋ก ํ๋ฒ ๋๋์ด๋ 2์ด๊ธฐ ๋๋ฌธ์
๋์ด์ divide_num์ผ๋ก ๋๋์ด์ง์ง ์์๋๊น์ง ๋ฐ๋ณตํด์ผ ํ๋ค.
์ฝ์๊ฐ ์๋๋ผ๋ฉด ๋ค์์๋ก ์ฆ๊ฐ์์ผ์ฃผ์๋ค.
17์ด๋ผ๋ฉด divide_num์ด ๊ณ์ else๋ก ๋ค์ด๊ฐ์ ์ฆ๊ฐํ๋ค๊ฐ
17์ if๋ฌธ์ ๋ค์ด๊ฐ์ ๋๋๋ฉด n์ด 1์ด ๋์ด while๋ฌธ์ ๋น ์ ธ๋์จ๋ค.
๋ค ๊ณ์ฐํ๊ณ ์ค๋ณต๋ ๊ฐ์ ๋นผ๊ณ ์ค๋ฆ์ฐจ์์ผ๋ก ๋ฆฌํดํด์ค์ผ ํ๋ค.
setํจ์๋ก ์ค๋ณต์ ์ง์ฐ๊ณ sorted๋ก ์ํธํด์ฃผ์ด ๋ฆฌํดํด์คฌ๋ค.
"""
728x90
๋ฐ์ํ
'๊ฐ๋ฐ > ๐๐ง๐ค๐๐ง๐๐ข๐ข๐๐ง๐จ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
ํ๋ก๊ทธ๋๋จธ์ค '๋ฑ์ ๋งค๊ธฐ๊ธฐ' ํ์ด์ฌ ํ์ด (0) | 2023.02.18 |
---|---|
ํ๋ก๊ทธ๋๋จธ์ค '์์ ์ง๋' ํ์ด์ฌ ํ์ด (0) | 2023.02.16 |
ํ๋ก๊ทธ๋๋จธ์ค 'ํน์ดํ ์ ๋ ฌ' ํ์ด์ฌ ํ์ด (0) | 2023.02.16 |
ํ๋ก๊ทธ๋๋จธ์ค '์ต๋น๊ฐ ๊ตฌํ๊ธฐ' ํ์ด์ฌ ํ์ด (0) | 2023.02.16 |
ํ๋ก๊ทธ๋๋จธ์ค '์ ์ฃผ์ ์ซ์ 3' ํ์ด์ฌ ํ์ด (0) | 2023.02.16 |
๋๊ธ