[프로그래머스_Lv1] 3진법 뒤집기

Lee, Chankyu·2021년 10월 19일
0
post-thumbnail

3진법 뒤집기

문제 링크

나의 풀이

def solution(n):
    answer = ''
    while n > 0:
        n, re = divmod(n,3)
        answer += str(re)
    return int(answer, 3)
  • 이 문제는 주어진 10진수를 3진법으로 변환해주는 것과 변환된 상태에서 앞뒤로 뒤집어 10진수로 다시 변환한 값을 리턴해주는 것이 관건 이었다.
  • 내가 작성한 소스코드부터 설명해보자면, 3진수 변환은 내장함수보다는 로직을 이용하여 구하였다. while문을 사용하여 몫과 나머지를 같이 반환해주는 함수인 divmod()를 실행하였다. 나머지 값을 str()으로 변환하여 answer 변수에 저장하면 문제의 의도인 앞뒤를 뒤집은 값과 일치하게 된다. 사실 처음부터 의도한것은 아니었으나 코드를 작성하다가 깨닫게 되어서 운 좋게 얻어걸렸다고 할 수 있다. 마지막으로 10진수로 전환하는 것은 int(str , x) (x 진법으로 구성된 string 타입의 수를 10진수로 변환해 준다.) 의 기능을 사용하였다.

📝 다른 사람의 코드를 살펴보았으나 이 문제의 경우 로직이 대부분 동일하였고 사용한 내장함수들도 비슷하였다.

profile
Backend Developer - "Growth itself contains the germ of happiness"

0개의 댓글