문제 설명
자연수 n이 매개변수로 주어집니다. n을 3진법 상에서 앞뒤로 뒤집은 후, 이를 다시 10진법으로 표현한 수를 return 하도록 solution 함수를 완성해주세요.
제한사항
- n은 1 이상 100,000,000 이하인 자연수입니다.
입출력 예
입출력 예 설명
입출력 예 #1
| n (10진법) | n (3진법) | 앞뒤 반전(3진법) | 10진법으로 표현 |
|---|
| 45 | 1200 | 0021 | 7 |
입출력 예 #2
| n (10진법) | n (3진법) | 앞뒤 반전(3진법) | 10진법으로 표현 |
|---|
| 125 | 11122 | 22111 | 229 |
문제 풀이
import Foundation
func solution(_ n:Int) -> Int {
var number = n
var arr = [Int]()
var result = 0
while (number > 0) {
arr.append(number % 3)
number /= 3
}
var count = 1
for number in arr.reversed() {
result += count * number
count *= 3
}
return result
}
체점 결과
