# 연습문제 - 124 나라의 숫자

- Author: @mildsalmon
- Published: 2021-10-13
- Updated: 2021-10-16
- Source: http://blex.me/@mildsalmon/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4-%EC%97%B0%EC%8A%B5%EB%AC%B8%EC%A0%9C-124-%EB%82%98%EB%9D%BC%EC%9D%98-%EC%88%AB%EC%9E%90
- Tags: 파이썬, 알고리즘, 프로그래머스, 코딩테스트, 문제, 연습문제

---

# 1. 124 나라의 숫자

- 난이도
	- Level 2
- 출처
	- [코딩테스트 연습 - 124 나라의 숫자 | 프로그래머스 (programmers.co.kr)](https://programmers.co.kr/learn/courses/30/lessons/12899)

### A. 📜 문제

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

### B. 💡 내 답안

##### a. 😊 1차 시도 (성공)

```python

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차 시도 (성공 / 다른 사람들의 풀이를 보고 흡수해봄)

```python

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)](https://programmers.co.kr/learn/courses/30/lessons/12899). Programmers. (accessed Oct 12, 2021)
