250x250
반응형
Notice
Recent Posts
Recent Comments
Link
종식당
99클럽 코테 스터디 4/29 TIL 비기너 3진법 뒤집기 본문
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
반응형