연습문제 - 124 나라의 숫자

1. 124 나라의 숫자

A. 📜 문제

위 프로그래머스 사이트에 접속하여 문제를 확인해주세요.

B. 💡 내 답안

a. 😊 1차 시도 (성공)

def solution(n):
    a = []
    n = int(n)
    while n != 0:
        if n % 3 == 0:
            a.append(str(4))
            n = n // 3
            n -= 1
        else:
            a.append(str(n%3))
            n = n // 3
    a.reverse()
    answer = ''.join(a)
    return answer

b. 😚 2차 시도 (성공 / 다른 사람들의 풀이를 보고 흡수해봄)

def solution(n):
    answer = ''
    
    num = ['1', '2', '4']
    n = int(n)
    while n > 0:
        n -= 1
        answer = num[n%3] + answer
        n //= 3
        
    return answer

b. 🙄 회고

내 풀이

  • 1 / 2 / 4는 3을 주기로 순환한다.
  • 그래서 위 조건에 맞춰 코드를 작성했다.

반성

  • "처음에 리스트를 이용해야겠다."라고 생각했다가, 진수? 이진수 변환? 이렇게 의식의 흐름이 진행되면서 리스트는 까먹었다.

결론

  • 연습 공책에 생각나는걸 다 기록해보자.

C. 🧐 문제 해설

이해한 내용을 바탕으로 작성했습니다.

3으로 나눴을 때 0이면 4로, 1이면 1로, 2면 2로 진수변환된다.

참고문헌

연습문제. 코딩테스트 연습 - 124 나라의 숫자 | 프로그래머스 (programmers.co.kr). Programmers. (accessed Oct 12, 2021)

이 글이 도움이 되었나요?

신고하기
0분 전
작성된 댓글이 없습니다. 첫 댓글을 달아보세요!
    댓글을 작성하려면 로그인이 필요합니다.