https://school.programmers.co.kr/learn/courses/30/lessons/12899#
코드 & 풀이
def solution(n):
answer = ''
nums = ['1', '2', '4']
while n > 0:
n -= 1 # 인덱스를 맞추기 위해 n을 1 감소
answer = nums[n % 3] + answer # 나머지로 현재 자릿수 숫자 구함
n //= 3 # 다음 자리수로 이동
return answer
주석 그대로입니다.
nums라는 리스트로 표현할 수 있는 수를 저장해뒀습니다.
이에 접근은 0부터 하지만
문제에서는 1부터 시작을 하죠?
그러니가 처음에 1을 빼줍니다.
그 수를 % 3
즉, 나머지로 현재 자릿수를 구하면 됩니다.
그리고 다음으로 넘어가기 위해서 //으로 3으로 나눈 정수값을 가져옵니다.
728x90
'프로그래머스 > Lv.2' 카테고리의 다른 글
시소 짝꿍 - Pyton, (0) | 2024.12.24 |
---|---|
호텔 대실 - Pyton, 구현, 누적합, 스위핑(Sweeping), 힙(heap) (0) | 2024.12.22 |
마법의 엘리베이터 - Python, 구현 (1) | 2024.12.18 |
월간 코드 챌린지 시즌1 > 삼각 달팽이 - Python, 구현 (0) | 2024.12.17 |
연속된 부분 수열의 합 - Python, 부분합, 슬라이딩 윈도우 (0) | 2024.12.16 |