코딩테스트
[프로그래머스] lv.1 124 나라의 숫자
꼬몽울
2021. 7. 8. 18:00
https://programmers.co.kr/learn/courses/30/lessons/12899#
코딩테스트 연습 - 124 나라의 숫자
programmers.co.kr
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=15
list=[]
while True:
a,b=divmod(n,3)
if b==0:
b=4
a-=1
n=a
list.append(str(b))
if a==0:
break
print(list)
list.reverse()
print(''.join(list))
1,2 는 3으로 나누었을때 나머지가 1,2로 나오기떄문에 나눈 수의 나머지를 넣어준다
만약 3으로 나누어 떨어지면 나머지가 0이기떄문에 4를 더해주고 몫에는 -1을 해준다
-1을 해주는이유는 다른 2진 3진법은 0,1 0,1,2로 순서대로 구성되어있지만 124나라의 진법은
1,2,4,로 되어있다 이떄 0이 없기떄문에 이를 맞추어주기 위해 -1을 한다.
이거 찾느라고 좀 걸림...