종식당

99클럽 코테 스터디 4/29 TIL 비기너 3진법 뒤집기 본문

99클럽 코테 스터디 TIL

99클럽 코테 스터디 4/29 TIL 비기너 3진법 뒤집기

종식당 2024. 4. 30. 02:13
728x90
반응형

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

 

프로그래머스

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

programmers.co.kr


  • 문제 설명
    주어진 10진수 n을 3진법으로 바꾸고 이를 거꾸로 뒤집은 수를 다시 10진법으로 바꾸어 출력하면 되는 문제 있다.

 

  • 제출 코드
def solution(n):
    answer = ''
    result = 0
    while(n>0):
        answer+=str(n%3)
        n//=3
    reverse_three = answer[::-1]
    for i in range(len(answer)):
        result += int(reverse_three[i])*(3**i)
    return result

 

주어진 10진수 n을 3진수로 먼저 바꿔야 하니 이를 3으로 나누고 나머지들을 모두 나열한다. 이때 문자열로 취급하여 더해준다. 이는 아래의 그림을 참고하면 될 것 같다. 그리고 이를 다시 10진수로 변환해야 하는데 찾아보니까 이때 위 코드에서 for문을 돌리지 않고 그냥 int(reverse_three,3)으로 했으면 그냥 result를 구할 수 있었다. 하지만 문제를 풀 때 당시에는 이를 인지하지 못해서 그냥 for문을 통해 자릿수마다 3의 i승을 곱하여 이들을 모두 더해주어 결과를 구할 수 있었다. 


  • 마무리
    중간고사가 끝나고 정처기 실기도 끝나고 보니 거의 한 달 만에 코테 문제를 푸는 것 같아서 간단한 문제를 풀어보았다. 그리고 오늘 처음으로 99 클럽 코테 스터디에서 제공하는 문제를 풀어보았는데 문제를 고르기 애매할 때는 이 문제들을 풀어 보는 것도 좋을 것 같다는 생각이 들었다.
728x90
반응형