Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- airflow설치
- Glue
- 파이서닉
- Binary_gap
- 1000개 이상
- 공백트림
- s3목록
- 프로그래머스
- Glue의 두 가지 핵심 기능
- 도커 에어플로
- 공백Trim
- 코테
- docker airflow
- 디비설치
- import from 차이점
- Codility
- 맞출수있었는데...
- AWS
- cyclerotation
- 차이
- 답안지표기잘못한느낌...
- docker
- GCP mysql
- python
- 파이써닉
- docker-compose
- 공백null치환
- 이직 3개월차
- 데이터카탈로그
- 코딩테스트
Archives
- Today
- Total
작은하마
[프로그래머스] lv.1 124 나라의 숫자 본문
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을 한다.
이거 찾느라고 좀 걸림...
'코딩테스트' 카테고리의 다른 글
[프로그래머스] 더 맵게 (0) | 2021.07.09 |
---|---|
[프로그래머스] lv.1 [1차]비밀지도 (0) | 2021.07.09 |
[프로그래머스] lv.1 실패율 (0) | 2021.07.08 |
[프로그래머스] lv.1 숫자 문자열과 영단어 (0) | 2021.07.08 |
Comments