[programmers] 124 나라의 숫자

wonyu·2022년 1월 27일
0

algorithm

목록 보기
19/25

문제 링크

https://programmers.co.kr/learn/courses/30/lessons/12899

풀이 방법

일의 자리 값이 숫자 3개마다 1, 2, 4 순서로 규칙을 갖는 것을 보고 3으로 나눈 나머지에 따라 (나머지가 0일 때는 4로 생각) 값을 추가하면 되겠다고 생각했다.
그래서 3으로 나눠가며 여러 숫자를 확인해봤는데 뭔가 안 맞았다. 예를 들면 3, 6처럼 3으로 나누어 떨어지는 숫자에서 몫이 어딘가 이상했다. 그래서 한 번 1을 빼볼까 싶어서 해봤는데 문제가 풀렸다. 얼떨결에 푼 것 같다..

코드

def solution(n):
    answer = ''
    # 나머지를 추가할 때 삼항연산자를 이용해서 코드를 작성했었는데 다른 사람 코드를 참고해서 아래와 같이 수정했다
    # 이렇게 쓰는 게 훨씬 가독성이 좋은 듯하다
    nums = ['4', '1', '2']
    while n > 0:
        answer = nums[n % 3] + answer
        n = (n - 1) // 3
        
    return answer

0개의 댓글

관련 채용 정보