124 나라의 숫자

이정연·2023년 1월 25일
0

CodingTest

목록 보기
108/165

124 나라의 숫자

풀이

규칙 발견하기가 너무 어려웠다 ... 😭

  1. n%3이 0 ➡️ 4 / 1 ➡️ 1 / 2 ➡️ 2
  2. n = n//3
  3. n%3 = 0인 경우에만 n을 1 감소
  4. n이 0이 될때까지 반복

n = 15인 경우를 예시를 들어보겠다.

  1. 15%3 = 0 ➡️ 마지막 숫자 4
  2. n = 15//3 = 5
  3. 15%3 = 0 이므로 n = 5-1 = 4
  4. 4%3 = 1 ➡️ 막둘 숫자 1
  5. n = 4//3 = 1
  6. 1%3 = 1 ➡️ 첫번째 숫자 1
  7. n = 1//3 = 0 ➡️ 종료

코드

def solution(n):
    answer = list()
    while n:
        n,remain = divmod(n,3)
        if remain == 1:
            answer.append('1')
        elif remain == 2:
            answer.append('2')
        else:
            answer.append('4')
            n -= 1
    answer = ''.join(reversed(answer))
    return answer
profile
0x68656C6C6F21

0개의 댓글