[알고리즘] 프로그래머스 - 124 나라의 숫자 (python 파이썬)

hj·2021년 5월 11일
0

알고리즘

목록 보기
9/35
post-thumbnail

프로그래머스 - 124 나라의 숫자

과정

  • 삼진법, 0 대신 4가 쓰임.
  • n이 3보다 큰 경우 계속 반복문을 돌아주며 3으로 나눠준다.
    - 숫자 n을 3으로 나눴을 때 나머지가 0인 경우 4, 1인 경우 1, 2인 경우 2를 answer에 문자를 추가해준다.
    - 나머지가 0인 경우 n에 1을 빼준다.
  • 반복문을 빠져 나왔을 때 3인 경우는 4로 나머지 숫자는 그대로 answer에 추가해준다.
  • answer에 문자를 순서대로 추가했기 때문에 뒤집어준다.

풀이

def solution(n):
    answer = ''
    arr = ['4', '1', '2']
    
    if n < 4:
        if str(n) not in arr:
            return '4'
        return str(n)
    
    while n > 3: # 3보다 큰 경우 계속 나눈다.
        remainder = n % 3 # 나머지
        n //= 3 # 몫
        
        if remainder == 0:
            n -= 1
        answer += arr[remainder]
    if n == 3:
        answer += '4'
    else:
        answer += str(n)
        
    return answer[::-1]

0개의 댓글