일단 총 단계를 좀 나누어보면
10진수를 3진수로 -> 앞뒤 반전 -> 다시 10진법으로
이렇게 세단계이다. 그러므로 10진수를 3진수로 바꾸는 것만 해결하면 큰 어려움이 없을 것 같다.
array()
인 a
와 몫을 임시로 담으면서 계산할 b
를 만든다.n
을 b
에 넣고 3으로 나누면서 나눠진 몫은 b
에 나머지는 a
에 더한다.b
가 0보다 작으면 반복문에서 빠져나오므로 나오기 직전 즉, b
가 1일때 a
마지막에 1을 더해주고 반복문을 빠져 나올 수 있도록 한다.reverse()
를 사용해 a
의 맨 뒷자리부터 꺼내 올 수 있도록한다.a
의 원소를 꺼내서 3의index
만큼 제곱과 곱해주면 10진수로 바꿔 줄 수 있다.answer
에 넣어준다.레고레고
이 문제도 말로 설명하기가 더 어려운데 풀때는 생각보다 쉽게 할 수 있었다.
테스트를 해보자.
통과!!