Python/Coding Test
[Coding Test] 3진법 뒤집기
gangee
2023. 7. 7. 04:36
728x90
반응형
문제 설명
자연수 n이 매개변수로 주어집니다. n을 3진법 상에서 앞뒤로 뒤집은 후, 이를 다시 10진법으로 표현한 수를 return 하도록 solution 함수를 완성해주세요.
문제 풀이
- 3진수로 변환한 수를 담아줄 cvt 정의
- while 반볻문을 통해 n이 0보다 클 때 코드를 계속 반복
- divmod 함수를 통해 n을 3으로 나누었을 때 몫을 n, 나머지를 mod에 저장
- 나머지의 값을 문자열로 변환하여 cvt에 넣어줌
- 위에 반복문을 계속해서 실행하면 cvt에 n의 역순 3진수가 출력 됨
- int 함수를 통해 cvt를 다시 3진수로 변환하여 출력
* 진수 변환에 관한 자세한 내용은 아래의 블로그 참고
정답 코드
def solution(n):
cvt = ''
while n > 0:
n, mod = divmod(n, 3)
cvt += str(mod)
return int(cvt, 3)
* 이 문제는 프로그래머스 코딩테스트 연습 1단계 문제입니다.
728x90
반응형