What I Learned/Algorithm Practice
[programmers - python] Lv.1: 3진법 뒤집기
Interrobang
2023. 1. 10. 17:58
문제 링크
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
문제 풀이
def solution(n):
ternary = ''
while n:
ternary = str(n % 3) + ternary
n = n // 3
answer = sum([num*3**i for i, num in enumerate(map(int, ternary))])
return answer

*key point: while과 문자열을 이용하여 주어진 수를 3진법으로 변환한 뒤 각 자리수 값을 이용하여 list comprehension으로 10진법으로 변환해준다.