반응형
문제_
https://school.programmers.co.kr/learn/courses/30/lessons/12899
레벨2
풀이_
1, 2, 4
3개의 수를 이용한다.
-> 3진법- 3진법과 달리 3은 자릿수를 바꾸지 않고 4로 표현한다.
-> 3은 4로, 6은 14로, 9는 24로 표현 n % 3 = 1
은 1,n % 3 = 2
는, 그리고n % 3 = 0
는 4로 표현된다
->[4, 1, 2]
배열의 인덱스가 3으로 나눈 나머지. 배열의 값이 나머지가 나타내는 숫자- 3의 배수의 경우, 자릿수를 바꾸지 않고 같은 자릿수로 표현해야 한다
-> 다음 숫자를 구할 때 3으로 나누어 떨어지지 않게, 1을 뺀 값을 나눔
def solution(n):
digits = ('4', '1', '2')
answer = ''
while n > 0:
cur = digits[n % len(digits)]
answer = cur + answer
n = int((n - 1) / len(digits))
return answer
'코딩테스트 > Programmers' 카테고리의 다른 글
[프로그래머스] 시소 짝꿍 (0) | 2023.01.22 |
---|