본문 바로가기

개발/algorithm

[프로그래머스][level2] 124 나라의 숫자 - python

문제링크 

풀이 

특징은 다음과 같다.

1. 3의 배수가 아닐 때 

: 삼진법으로 바꾼 수와 동일하다. 따라서 삼진법으로 변환한 숫자를 구해주면 된다. 

2. 3의 배수 일 때 

: ( 3으로 나눈 몫 -1 ) 뒤에 4를 붙인 것이다. 

def solution(n):
    answer = ''
    while n :
    	# 3의 배수일 때 
        if n % 3 == 0:
        	# 4 추가 
            answer += '4'
            # 3으로 나눈 몫 - 1 
            n = n // 3 - 1 
        # 3의 배수가 아닐 때 
        else:
        	# 3으로 나눈 나머지 
            answer += str(n%3)
            n //= 3 
    # 뒤집기
    return answer[::-1]