Lv2. 124의 나라

Hello·2022년 8월 3일

코딩테스트 연습 > 124 나라의 숫자

1. 풀이 설명

  1. 3진법 변경과 비슷한 방법으로 푼다. 단, 3의 배수일 때 '0'이 아닌 '4'를 answer 에 추가해야 한다.

  2. 일반적인 3진법에서 3의 배수는 자릿수가 하나 올라간다.
    예를 들어서, 11 에서는 102 가 12가 되면 110 으로 자릿수가 하나 올라간다.

    	2 == 2
    	3 == 10
    
    	11 == 102
    	12 == 110
    

따라서, n = n //3 을 한 후에 -1 을 하여 자릿수를 하나 내리는 효과를 준다.
(이 부분이 제일 생각하기 어려웠다.)

2. 나의 풀이

python

def solution(n):
    answer = ''
    while n > 0:
        print(n)
        if n % 3  == 0:
            answer += '4'
            n = n // 3 - 1
        else:
            answer += str(n % 3) 
            n //= 3
    return answer[::-1]

3. 배운점

python

  1. 1 // 3 == 0, 1 / 3 == 0.3333..
profile
안녕하세요 :)

0개의 댓글