[프로그래머스] 3진법뒤집기 - Swift

ryu_y·2021년 12월 31일
1

3진법 뒤집기


문제설명

자연수 n이 매개변수로 주어집니다. n을 3진법 상에서 앞뒤로 뒤집은 후, 이를 다시 10진법으로 표현한 수를 return 하도록 solution 함수를 완성해주세요.

제한사항
n은 1 이상 100,000,000 이하인 자연수입니다.

n(입력)result(출력)
457

제한사항

  • n은 1 이상 100,000,000 이하인 자연수입니다.

입출력 예

n(10진법)n(3진법)앞뒤 반전(3진법)10진법으로 표현
45120000217
1251112222111229

Solution.swift

import Foundation

func solution(_ n:Int) -> Int {
    
    var str = String(n, radix: 3)
    var str2 = ""
    
    for i in str.reversed() {
        str2 += String(i)
    }
    
    
    return Int(str2, radix: 3)!
}
  • String(n, radix: 3) : Int n을 String 3진수로 변환
  • str.reversed() : 문자열 반전
  • Int(str2, radix: 3)! : String str2를 Int 10진수로 변환, Optional 제거

출처 : https://programmers.co.kr/learn/courses/30/lessons/68935?language=swift

profile
iOS 공부 기록

0개의 댓글