프로그래머스 - 3진법 뒤집기 (lv 1 / python)

jplendor·2022년 3월 10일
0

문제 설명

▶ 입력 : 자연수 n(10진법)
▶ 처리

  • n을 3진법으로 표현
  • 앞뒤 반전
  • 다시 10진법으로 표현

▶ 반환

입출력 예시

▶ 입력 : 45
▶ 처리

  • 45 => 1200
  • 1200 => 0021
  • 0021 => 7

▶ 반환 : 7

나의 풀이

def solution(n):
	
    answer = 0
    m = ''
    
    # 10 => 3 (반전)
    while n:
        m += str(n % 3)
        n = n // 3

    # 3 => 10
    for i in range(len(m)):
    	answer += int(m[i]) * (3 ** (len(m)-i-1))
    
    return answer

발전된 풀이

3진법에서 10진법으로 바꿀 때, int() 함수를 통해 쉽게 할 수 있었다.

int(string, base)


    # 3 => 10
    answer = int(m, 3)

profile
만들기는 재밌어!

0개의 댓글