Published on

๐Ÿ› ๏ธ[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค]-3์ง„๋ฒ•๋’ค์ง‘๊ธฐ

๐Ÿ“–๋ฌธ์ œ ์„ค๋ช…


์ž์—ฐ์ˆ˜ n์ด ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ฃผ์–ด์ง‘๋‹ˆ๋‹ค. n์„ 3์ง„๋ฒ• ์ƒ์—์„œ ์•ž๋’ค๋กœ ๋’ค์ง‘์€ ํ›„, ์ด๋ฅผ ๋‹ค์‹œ 10์ง„๋ฒ•์œผ๋กœ ํ‘œํ˜„ํ•œ ์ˆ˜๋ฅผ return ํ•˜๋„๋ก solution ํ•จ์ˆ˜๋ฅผ ์™„์„ฑํ•ด์ฃผ์„ธ์š”.

์ œํ•œ์‚ฌํ•ญ

  • n์€ 1 ์ด์ƒ 100,000,000 ์ดํ•˜์ธ ์ž์—ฐ์ˆ˜์ž…๋‹ˆ๋‹ค.

โœ๏ธ๋ฌธ์ œ ํ’€์ด


  • 10์ง„์ˆ˜๋ฅผ n์ง„์ˆ˜๋กœ ๋ณ€ํ™˜ ํ•  ๋•Œ, n์œผ๋กœ ๋‚˜๋ˆˆ ๋‚˜๋จธ์ง€๋“ค์„ ์—ญ์ˆœ ์œผ๋กœ ๋ชจ์€ ๊ฒŒ n์ง„์ˆ˜๋กœ ๋‚˜ํƒ€๋‚ธ ์ˆ˜์ด๋‹ค. 45%3=045 \% 3 = 0 15%3=015 \% 3 = 0 5%3=25 \% 3 = 2 1%3=11 \% 3 = 1 =1200(3) = 1200(3)
  • ๋ฌธ์ œ ์ƒํ™ฉ์—์„œ๋Š” ํ•œ๋ฒˆ ๋’ค์ง‘์–ด์•ผ ํ•˜๋‚˜, ๊ทธ๋•Œ๊ทธ๋•Œ ๋‚˜์˜จ ๊ฐ’๋“ค์„ ๊ทธ๋Œ€๋กœ ๋ฌธ์ž์—ด์— ๋‹ด์•„๋‘์–ด ์ˆซ์ž๋กœ ํ™œ์šฉ
  • ์ƒˆ๋กœ ์‚ฌ์šฉํ•˜๋Š” ๋ฉ”์„œ๋“œ
    R, Q = divmod(N, n)
    # R ์€ ๋ชซ, Q๋Š” ๋‚˜๋จธ์ง€, N์€ ํ”ผ์—ฐ์‚ฐ์ž, n์€ ์—ฐ์‚ฐ์ž
    
    int(string_object, n)
    # string_object๋ฅผ n์ง„์ˆ˜๋กœ ๋ฐ›์•„๋“ค์—ฌ ์‹ญ์ง„์ˆ˜๋กœ ๋ณ€ํ™˜ํ•จ
    

โŒจ๏ธํ’€์ด ์ฝ”๋“œ


def solution(n):
    answer = ''

    while n >= 1:
        n, rest = divmod(n, 3)
        answer += str(rest)

    answer = int(answer, 3)

    return answer

์ถœ์ฒ˜ : ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค 3์ง„๋ฒ• ๋’ค์ง‘๊ธฐ