본문 바로가기
프로그래머스/Python

[프로그래머스] 3진법 뒤집기 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트

by 우당탕탕 개발자 2023. 7. 4.
728x90
반응형

 

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

1. 문제 설명

2. 풀이과정

  1. 입력받은 수를 3진법의 반전 결과를 저장할 리스트를 만든다. li = list()
  2. 입력받은 수가 0이 될 때까지 반복한다. while (n != 0)
  3. 수를 3으로 나눈 나머지를 리스트에 추가한다. li.append(n % 3)
  4. 수를 3으로 나눈 몫의 결과로 새로 저장한다. n //= 3
  5. 리스트의 길이만큼 반복한다. for i in range(len(li))
  6. 3진법으로 저장되어 있는 리스트의 각 원소를 10진법으로 바꾸어 더한다. answer += li[i] * (3 ** (len(li) - i - 1))
반응형

3. 소스코드

def solution(n):
    answer = 0
    
    li = list()
    while (n != 0):
        li.append(n % 3)
        n //= 3
        
    for i in range(len(li)):
        answer += li[i] * (3 ** (len(li) - i - 1))
        
    return answer
728x90
반응형