티스토리 뷰

문제 설명

124 나라가 있습니다. 124 나라에서는 10진법이 아닌 다음과 같은 자신들만의 규칙으로 수를 표현합니다.

124 나라에는 자연수만 존재합니다.
124 나라에는 모든 수를 표현할 때 1, 2, 4만 사용합니다.
예를 들어서 124 나라에서 사용하는 숫자는 다음과 같이 변환됩니다.

10진법 124 나라 10진법 124 나라
1 1 6 14
2 2 7 21
3 4 8 22
4 11 9 24
5 12 10 41

자연수 n이 매개변수로 주어질 때, n을 124 나라에서 사용하는 숫자로 바꾼 값을 return 하도록 solution 함수를 완성해 주세요.

접근법

>> 이미 0이 없는 6진법 체계에 대한 변환 함수를 만들어 본 경험이 있다.
>> 루빅스큐브 노드 탐색시에 0이 없는 6진법 체계를 사용하였다.
>> 코드를 보며 이해해보자

코드

def solution(dec):
    answer =[]

    parent = (dec-1)//3
    tail = dec % 3
    tail = tail if tail else 4
    answer.append(tail)

    while parent != 0:
        tail = parent % 3
        tail = tail if tail else 4
        answer.append(tail)
        parent = (parent-1)//3

    answer = [str(e) for e in answer][::-1]

    return "".join(answer)

코드_와우..미쳤다..

def solution(n):
    num = ['1','2','4']
    answer = ""
    while n > 0:
        n -= 1
        answer = num[n % 3] + answer
        n //= 3
    return answer
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG more
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함