https://programmers.co.kr/learn/courses/30/lessons/68935
출처 : 프로그래머스
def solution(n):
answer = 0
tmp = []
while True:
tmp.append(n % 3)
n //= 3
if n == 0:
break
idx = 0
for t in tmp[::-1]:
if t == 0:
idx += 1
continue
answer += t*(3**idx)
idx += 1
return answer
풀이
3으로 나눈 나머지로 3진법을 구하는 방법으로 구했다.
하지만 다른 사람 풀이를 보고 놀랐다..ㅋ ㅋ ...
def solution(n):
tmp = ''
while True:
tmp += str(n % 3)
n //= 3
if n == 0:
break
answer = int(tmp,3)
return answer
풀이
int('문자열', 진법)
솔직히 int가 이런 옵션이 있는줄 몰랐다.
앞으로 진법문제 나올 때 유용하게 쓰자.
'알고리즘 문제 풀이 > 프로그래머스' 카테고리의 다른 글
[프로그래머스] 2016년 python (0) | 2022.04.01 |
---|---|
[프로그래머스] 두 개 뽑아서 더하기 python (0) | 2022.04.01 |
[프로그래머스] 약수의 개수와 덧셈 (0) | 2022.03.31 |
[프로그래머스] 두 정수 사이의 합 python (0) | 2022.03.26 |
[프로그래머스] 폰켓몬 python (0) | 2022.03.26 |