최대 1 분 소요

https://school.programmers.co.kr/learn/courses/30/lessons/68935

10진법 수를 3진법으로 만든 뒤 뒤집어서 10진법으로 출력하는 문제.

def solution(n):
    trinary = ""
    while (n != 0) :
        trinary = str(n % 3) + trinary
        n //= 3
    
    answer = 0
    for i in range(len(trinary)) :
        if trinary[i] == '0' :
            continue
        elif trinary[i] == '1' :
            answer += 3 ** i
        else :
            answer += 2 * 3 ** i
            
    return answer

다른 사람의 풀이

def solution(n) :
    tmp = ""
    while n :
        tmp += str(n % 3)
        n = n // 3
        
	answer = int(tmp, 3)
    return answer

int()함수에 원하는 진법으로 변환하는 기능도 있었다!!

댓글남기기