๋ฐ์ํ
๋ฌธ์ ๋งํฌ
https://programmers.co.kr/learn/courses/30/lessons/12899
๋์ํ์ด
- ๊ท์น์ฐพ๋๋ฐ 1์๊ฐ๊ฑธ๋ฆผ
- 3์ง๋ฒ, 4์ง๋ฒ ๋ฑ ์ฌ๋ฌ ์ง๋ฒ์ ๋ํ ์ดํด๊ฐ ํ์ (๋ ์ดํด๋๊ฐ ๋ฎ์์ ์ฐพ์๋ณด๋ฉด์ ํ์์ ใ )
์ฌ๊ณ ์์
- 3๊ฐ์ ์ซ์๋ก ๋์๊ฐ๋ค? 3์ง๋ฒ์ ์๊ฐํ ์ ์๋ค.
- 3์ง๋ฒ์ผ ๊ฒฝ์ฐ, 0,1,2 ์ธ๊ฐ์ ์ซ์๋ก ์ด๋ฃจ์ด์ ธ์๋๋ฐ ํด๋น ๋ฌธ์ ๋ 1,2,4 ์ด๋ฏ๋ก ์ด๋ค๊ฒฝ์ฐ์ ์ด๋ค ์ซ์๊ฐ ์ค๋์ง์ ๋ํ ํ์ธ์ด ํ์ํ๋ค
- ๋์ ํ ๊ท์น์ ๋ชป์ฐพ๊ฒ๋ค๊ฐ ์ธํฐ๋ท์์ -1์ ํด์ ์ด์ฉํ๋ค๋ ๊ธ์ ์ฐธ๊ณ ํด์ ๊ท์น์ ์ฐพ์๋ณด์๋ค.
- ์์๋ฅผ๋ค์ด ์๊ฐํด๋ณด์.
- n =10 ์ด๋ผ๋ฉด,
- ๋จผ์ n-1์ ํด๋ณด์. ๊ทธ๋ผ 9์์ 3์ผ๋ก ๋๋๊ธฐ์์ํ ๊ฒ
- 9๋๋๊ธฐ3์ ๋ชซ3, ๋๋จธ์ง 0 ์ด๋ค. ์ฐ๋ฆฌ๋ ๋๋จธ์ง [0,1,2] ๋ฅผ [1,2,4]์ ๋์นญ์ํฌ ๊ฒ์ด๋ค. ๊ณ ๋ก answer์๋ 1์ด ๋ค์ด๊ฐ๋ค.
- ๋๋ค์ ๋ชซ์์ -1์ ํด๋ณด์. ๋ชซ=2๊ฐ๋๋ค.
- 2๋๋๊ธฐ 3์ ๋ชซ0, ๋๋จธ์ง๋ 2๊ฐ ๋๋ค. [0,1,2] = [1,2,4] ๋ก ์๊ฐํด์ answer์๋ 4๊ฐ ๋ค์ด๊ฐ๋ค.
- ์ด์ 3์ผ๋ก ๋๋ ๋ชซ์ด 0์ด ๋์์ผ๋ ๋ฐ๋ณต์ ์ข ๋ฃํด๋ณธ๋ค.
- ์ต์ข ์ ์ผ๋ก answer์ 41์ด๋๋ค.
def solution(n):
nums = ['1', '2', '4'] #๋๋จธ์ง๊ฐ 012 ๋ฉด ๊ฐ๊ฐ 124๋๊น ์ธ๋ฑ์ค๋ก
answer = ""
while n>0:
n-=1 #๊ท์น์ด ์ด์ํ๋ฐ 1๋นผ๋ฉด ๋ค ๋์๊ฐ
nam = n%3
answer = str(nums[nam]) + answer #์์ฑ๋๋ ๋๋จธ์ง๋ฅผ ์์ ๋ถ์ฌ์ผํจ
n = n//3 #n์ด 0์ด์์ด๋ฉด ๊ณ์๋๋ฉด์ ๋๋จธ์ง ์์ ๋ถ์ฌ์ค์ผํจ
return answer
๋ค๋ฅธ์ฌ๋ํ์ด
https://programmers.co.kr/learn/courses/30/lessons/12899/solution_groups?language=python3
์์ด๊ณ ์ด๋ ต๋ค... ๊ท์น์ฐพ์ ์ฌ๋๋ค ์ ๋ง ์ฒ์ฌ ์๋์ผ? -1์ ํด์ค๋ค๋ ํํธ๋ฅผ ๋ณด๊ณ ๋ ๋๋ 1์๊ฐ๋ฐ์ด ๊ฑธ๋ ธ๋ค. ์ง์ง... ์ฐ์ต์ด ๋ง์ด ํ์ํ ๊ฒ ๊ฐ๋ค ใ ใ 3์ง๋ฒ, 5์ง๋ฒ ๋ฑ ์ง์์ ๋ํ ์ดํด๊ฐ ๋ถ์กฑํด์ ๋ ์ดํดํ๊ธฐ ํ๋ค์ ๋๊ฑฐ ๊ฒ๊ฐ๋ค. ์์ผ๋ก ๋์ฌ ์ง์๋ฅผ ์ ๋ณตํ๊ธฐ ์ํด์ ๋ ๊ณต๋ถ๋ฅผ ์งํํด๋ณด์.
๋ฐ์ํ
'Algorithm > Programmers' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ํ๋ก๊ทธ๋๋จธ์ค] ์ฃผ์๊ฐ๊ฒฉ (level.2) (0) | 2021.09.23 |
---|---|
[ํ๋ก๊ทธ๋๋จธ์ค] ์คํ์ฑํ ๋ฐฉ (์นด์นด์ค, level.2) (0) | 2021.09.16 |
[ํ๋ก๊ทธ๋๋จธ์ค] ์คํ/ํ - ๋ค๋ฆฌ๋ฅผ ์ง๋๋ ํธ๋ญ (level.2) (0) | 2021.09.15 |
[ํ๋ก๊ทธ๋๋จธ์ค] ํ-๋ ๋งต๊ฒ (level.2) (0) | 2021.09.15 |
[ํ๋ก๊ทธ๋๋จธ์ค] ์คํ,ํ - ๊ธฐ๋ฅ๊ฐ๋ฐ (level.2) (0) | 2021.09.13 |