[Programmers] 124์˜ ๋‚˜๋ผ

Updated:

124์˜ ๋‚˜๋ผ

124์˜ย ๋‚˜๋ผ ๋ฅผ ํด๋ฆญํ•˜๋ฉด ๋ฐ”๋กœ ์ด๋™ํ•œ๋‹ค.

์ด ๋ฌธ์ œ๋„ ์•ž์„œ ํ’€์–ด๋ดค๋˜ [Programmers] ๋ฉ€์ฉกํ•œ ์‚ฌ๊ฐํ˜• ๋ฌธ์ œ์™€ ๋น„์Šทํ–ˆ๋‹ค.

์ˆ˜ํ•™์  ๋จธ๋ฆฌ๋ฅผ ๊ตด๋ ค์•ผ ํ•˜๋Š” ๋ฌธ์ œ..

์ˆ˜ํ•™์ด ์•ฝํ•œ ๋‚˜๋Š” ๊ทœ์น™์„ ์ฐพ๋Š”๋ฐ ์กฐ๊ธˆ ์‹œ๊ฐ„์ด ๊ฑธ๋ ธ๋‹ค.

์šฐ์„  ๋ชจ๋“  ์ˆ˜๋ฅผ 1, 2, 4 ๋กœ๋งŒ ํ‘œํ˜„ ํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— 3์ง„๋ฒ•์œผ๋กœ ์ ‘๊ทผ์„ ํ•˜๋ฉด ๋๋‹ค.

๊ทธ๋ž˜์„œ ์—ฌ๋Ÿฌ ์ˆ˜๋ฅผ ์จ๋†“๊ณ  ๊ทœ์น™์„ ์ฐพ๊ธฐ ์‹œ์ž‘ํ–ˆ๋‹ค..

์˜ˆ๋ฅผ๋“ค์–ด 25 ๊ฐ™์€ ๊ฒฝ์šฐ 3์œผ๋กœ ๊ณ„์† ๋‚˜๋ˆŒ ๋•Œ ๋ชซ์ด 3์˜ ๋ฐฐ์ˆ˜์ธ ๊ฒฝ์šฐ๊ฐ€ ์—†์–ด 3์ง„๋ฒ•๊ณผ ๊ฐ™์€ 221(3) ์ด ๋‚˜์˜จ๋‹ค.

ํ•˜์ง€๋งŒ ๋ชซ์ด 3์˜ ๋ฐฐ์ˆ˜์ธ ๊ฒฝ์šฐ ๋‚˜๋จธ์ง€๊ฐ€ 0 ์ด ๋˜์–ด ์˜ˆ์™ธ ์ฒ˜๋ฆฌ๋ฅผ ํ•ด์ค˜์•ผ ํ•œ๋‹ค.

์ด๊ฒŒ ์ง„์งœ ๊ณจ์น˜์•„ํŒ ๋‹ค.. ๋‚˜๋จธ์ง€๊ฐ€ 0 ์ธ๊ฒฝ์šฐ 4๋กœ ๋ฐ”๊พธ์–ด ์ฒ˜๋ฆฌํ•˜๋ฉด ๋˜๋Š”๋ฐ ๋ชซ์„ ์–ด๋–ป๊ฒŒ ์ฒ˜๋ฆฌํ•ด์•ผํ• ์ง€ ๊ฐ์ด ์˜ค์งˆ ์•Š์•˜๋‹ค.

๋จผ์ € ์ฝ”๋“œ์™€ ํ•จ๊ป˜ ์„ค๋ช…์„ ํ•˜๊ฒ ๋‹ค!

def solution(n):
    answer = ''
    while n > 0:
        n, mod = divmod(n, 3)
        if mod != 0:
            answer += str(mod)
        else:
            answer += '4'
            n -= 1

    return answer[::-1]

๊ทธ๋ž˜์„œ 3์„ ๊ฐ€์ง€๊ณ  ์•Œ์•„๋ณด๊ธฐ ์‹œ์ž‘ํ–ˆ๋Š”๋ฐ ์›ฌ๊ฑธ ๊ทœ์น™์„ ์ฐพ์•˜๋‹ค !

124์˜ ๋‚˜๋ผ์—์„œ 3์€ 4๋กœ ์จ์•ผํ•œ๋‹ค. 3์€ 3 / 3 = 1 ๋‚˜๋จธ์ง€ 0 ์ด ๋œ๋‹ค.

์—ฌ๊ธฐ์„œ ๋‚˜๋จธ์ง€ 0 ์„ 4๋กœ ๋ฐ”๊พธ๊ณ  ๋ชซ์—์„œ 1์„ ๋บ€๋‹ค๋ฉด ?

ํ˜น์‹œ ๋ชฐ๋ผ 9๋กœ๋„ ๊ณ„์‚ฐ์„ ํ•ด๋ดค๋‹ค. 9๋Š” 9 / 3 = 3 ๋‚˜๋จธ์ง€ 0 โ†’ย 2 / 3 = 0 ๋‚˜๋จธ์ง€ 2 ๊ฐ€ ๋œ๋‹ค.

๊ทธ๋Ÿฌ๋ฉด 24๊ฐ€ ๋˜์–ด ๋‹ต์ด ๋‚˜์˜จ๋‹ค !


Categories:

Updated:

Leave a comment