본문 바로가기

알고리즘 삽질장

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

반응형


문제설명

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

 

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

 

programmers.co.kr

사고과정

  • 이것도 DP로 풀어야 하나 싶었지만 그런 문제는 아니었다. N진법 변환문제인건가 싶었지만 그것도 아니었다.. 엄청 난해한 문제라 질문하기에서 아이디어를 봤는데 3진법을 좀 특수적으로 운영해서 풀어야 했다..
  • 즉, 3진법을 이용하되 3으로 나누어떨어질때는 몫을 하나 감소시켜서 나머지가 0이 안되게 한 뒤 3은 4로 바꾸어주저야 한다.. 매우 난해한 문제인 듯하다.. 이걸 어찌 풀라고...흑

풀이(스스로 못 푼 풀이)

def solution(n):
    answer = ''

    while n:
        t = n % 3
        if not t: # t가 0일 경우: 즉, n이 3으로 나누어떨어질 경우
            t = 3
            n -= 1
        answer += '4' if t == 3 else str(t)
        n //= 3
    return answer[::-1]
반응형