김찬양의 개발일지
30일차. 3진법 뒤집기 본문
링크
https://school.programmers.co.kr/learn/courses/30/lessons/68935
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
문제
정답
def solution(n):
answer = ''
while n:
answer += str(n%3)
n = n//3
return int(answer, 3)
풀이과정
먼저 특정 진수를 만드는 방법이다. n진수의 1의자리는 n을 넘을 수 없으므로 n으로 나누고 남은 나머지이다.
그리고 n의자리는 그 나머지를 제외한것이 올라간 다음 n의 2제곱으로 나누고 남은 나머지이다. 그러므로,
result = ''
while temp:
result = str(temp%n) + result
temp = temp//n
이렇게, 앞에 계속 n으로 나눈것을 붙여나가면된다.
그러나, 문제에서 뒤집으라고 햇으므로, 앞이 아닌 뒤에 붙여나간다음 int(str, 진수)로 변환시켜주면 된다.
'코딩테스트 > Programmers Level 1' 카테고리의 다른 글
32일차. [카카오 인턴] 키패드 누르기 (0) | 2023.12.26 |
---|---|
31일차. 두 개 뽑아서 더하기 (0) | 2023.12.25 |
29일차. 내적 (0) | 2023.12.24 |
28일차. 신규 아이디 추천 (2) | 2023.12.22 |
27일차. 음양 더하기 (0) | 2023.12.21 |