본 글은 프로그래머스 문제를 기반으로 작성한 글입니다. (https://school.programmers.co.kr/learn/courses/30/lessons/68935)
문제 설명
자연수 n이 매개변수로 주어집니다. n을 3진법 상에서 앞뒤로 뒤집은 후, 이를 다시 10진법으로 표현한 수를 return 하도록 solution 함수를 완성해주세요.
제한사항
- n은 1 이상 100,000,000 이하인 자연수입니다.
내 생각
흐름
1) 3진법 만들기
- 몫이 0이 될 때까지 3으로 계속 나누고 나머지를 반대로 이으면 됨
- 이을 때 배열 쓰자
2) 뒤집기
3) 10진법 만들기
작성한 코드
def solution(n):
answer = 0
N = []
while n:
N.append(n % 3)
n = n // 3
N.reverse()
for i, x in enumerate(N):
answer += x * (3 ** i)
return answer
'코딩테스트 > 프로그래머스' 카테고리의 다른 글
[Level1/Python3] 로또의 최고 순위와 최저 순위 (0) | 2022.07.30 |
---|---|
[Level1/Python3] 신규 아이디 추천 (0) | 2022.07.30 |
[Level1/Python3] 키패드 누르기 (0) | 2022.07.30 |
[Level1/Python3] 음양 더하기 (0) | 2022.07.30 |
[Level1/Python3] 소수 만들기 (0) | 2022.07.29 |