문제
코딩테스트 연습 - 124 나라의 숫자
programmers.co.kr
풀이
- 규칙성은 3으로 나눴을 때 나머지가 0이면 4, 1이면 1, 2이면 2를 반환한다.
- 그래서 rule을 ["4", "1", "2"]순으로 두고, n이 존재할 때까지 반복문을 돌린다.
- n을 3으로 나누고, 나눈 몫을 n으로 두고 나머지를 m으로 둔다.
- 그리고 rule[m]에 해당하는 값을 answer의 앞자리에 더해준다.
- 만약 m이 나머지가 0이면 n을 1 감소시켜 준다.(m이 3이라는 의미)
코드
def solution(n):
answer = ''
rule = ["4", "1", "2"]
while n:
n, m = n // 3, n % 3
answer = rule[m] + answer
if not m:
n -= 1
return answer
반응형
'Algorithm > Programmers' 카테고리의 다른 글
[Programmers] Lv2. 기능개발 (0) | 2021.05.20 |
---|---|
[Programmers] Lv2. 짝지어 제거하기 (0) | 2021.05.20 |
[Programmers] Lv2. 멀쩡한 사각형 (0) | 2021.05.20 |
[Programmers] Lv1. 최대공약수와 최소공배수 (0) | 2021.05.15 |
[Programmers] Lv1. 짝수와 홀수 (0) | 2021.05.15 |
댓글