https://school.programmers.co.kr/learn/courses/30/lessons/12899
10진수를 3진수로 변환하는 알고리즘과 비슷하다.
그러나 3진수는 120나라다. 이 문제는 124나라, 즉 0 대신 4를 사용하는 나라다.
그러므로 3으로 나누어떨어질 시에는 1을 빼주어야 원하는 결과를 도출할 수 있다.
def solution(n):
answer = ''
while n:
if(n%3):
answer=str(n%3)+answer
n=n//3
else:
answer="4"+answer
n=n//3-1
return answer
'문제를 풀자' 카테고리의 다른 글
[프로그래머스] 큰 수 만들기(C++) (0) | 2022.08.11 |
---|---|
[프로그래머스] 짝지어 제거하기(파이썬/Python) (0) | 2022.08.11 |
[프로그래머스] 신고 결과 받기(C++) (0) | 2022.06.22 |
[SWEA #8016] 홀수 피라미드(C++) (0) | 2022.05.31 |
[백준 #16563] 어려운 소인수분해(C++) (0) | 2022.05.31 |
댓글