3진법을 124로 표현하기
풀이 출처 : https://stitchcoding.tistory.com/33
def solution(n): nums = [1, 2, 4] answer = '' while (n > 0): n -= 1 answer = str(nums[n % 3]) + answer n = n // 3 return answer
- 0이 없기 때문에 1,2,4로 요소값을 만들어준다.
- 주어진 숫자 n이 0보다 작아질 때까지
- 1을 빼주고
- 3으로 나눈 나머지를 앞으로 넣어주고
- 3으로 나눈 몫을 n에 저장해준다.
- n이 0이하가 될때까지 반복한다.
- 이 과정을 반복하면 정답이 나온다.
내 기준에는 너무 어려운 문제였다.
처음 문제를 봤을 때는 3진수로 표현해서 각각을 위와같이 적용해주면 될거라 생각했는데, 잘 되지 않았다. 아이디어가 있어도 표현하지 못하는 느낌이었다.
앞으로 문제들을 30분 정도만 고민하고 풀리는 느낌이 들지 않으면 정답을 확인해서 코드를 공부하는 쪽으로 방향을 잡아야겠다.