* ๋ฌธ์ ๋งํฌ
programmers.co.kr/learn/courses/30/lessons/12899
* ๋ฌธ์ ๋ถ๋ฅ , ๋์ด๋
๋ถ๋ฅ : ์ฐ์ต๋ฌธ์
๋์ด๋ : Lv2
* ๋ฌธ์ ์์ฝ
10์ง๋ฒ์ 1,2,4๋ฅผ ์ฌ์ฉํ์ฌ ๋ํ๋ด๋ผ.
* ํ์ด ๋ฐฉ๋ฒ
- 3์ง๋ฒ๊ณผ ๋น์ทํ์ง๋ง, 3์ง๋ฒ ๊ฐ์ ๊ฒฝ์ฐ์๋ 0,1,2๋ฅผ ์ฌ์ฉํ๋ค. ํ์ง๋ง ๋ฌธ์ ์์๋ 1, 2, 3์ ์ฌ์ฉํ๋ ํํ์ 1, 2, 4๋ก ํ๊ฒ๋๋ค.
- ์ฆ, ๋ฌธ์ ์์๋ ์ผ๋ฐ์ ์ธ 3์ง๋ฒ๊ณผ ๋ฌ๋ฆฌ 0์ ํํํ ์ ์๊ธฐ ๋๋ฌธ์ 15์ ๊ฐ์ด 3์ผ๋ก ๋๋์ด ๋จ์ด์ง๋ ์๋ฅผ ํํํ ๋ ํ๋ฒ ๋ ์๊ฐํด์ฃผ์ด์ผ ํ๋ค. - (์์ผ๋ก 15๊น์ง ์ ์ด๋ณด๋ฉด ๋ญ๊ฐ 3์ง๋ฒ๊ณผ ๋ค๋ฅธ์ง ์ง๊ด์ ์ผ๋ก ์ ์ ์์ง๋ง ์ค๋ช
ํ๊ธฐ๊ฐ ํ๋ค๋ค......)
- ๊ธฐ๋ณธ์ ์ธ ๋ก์ง์ ๋ฃจํ๋ฌธ์ ๋๋ฉด์ 3์ผ๋ก n์ ๋๋๊ณ , ๋๋จธ์ง์ ๋์ํ๋ ์๋ฅผ answer์ ํ๋์ฉ ์ถ๊ฐํ๋๋ก ๊ตฌํํ๋ค.
* ํ์ด์ฌ(Pyhton) ์ฝ๋
def solution(n):
base = '124'
answer = ''
num = n
while(True) :
if (num > 3) :
idx = num % 3
num //= 3
if (idx == 0 ) :
num -= 1
idx = 3
answer += base[idx-1]
else :
answer += base[num-1]
break
return answer[::-1]