[Programmers] [Lv.1] [Swift] 3진법 뒤집기

doyeonjeong_·2022년 8월 15일
0

프로그래머스

목록 보기
29/35
post-thumbnail

Hits

문제

3진법 뒤집기

문제파악하기

  • n을 0이 될 때 까지 나누어 문자열로 반환하면 뒤집히니 3진법 수가 나온다.
  • 이를 다시 10진법으로 변경해주면 된다.

풀이

import Foundation

func solution(_ n:Int) -> Int {
    var n = n
    var reversedRadix = ""

    while (n != 0) {
        reversedRadix.append(String(n % 3))
        n = n / 3
    }
    let answer = Int(reversedRadix, radix: 3)!
    
    return answer
}

🤔 FEEDBACK

  • radix 함수를 모르면 풀 수 없는 문제
  • Int(reversedRadix, radix: 3)!이게 다시 10진법으로 바꿔주는 건지 처음알았다.
  • 진법 문제가 왜 출제되고 중요한지를 파악해 볼 필요가 있는 것 같다.

다른 풀이

import Foundation

func solution(_ n:Int) -> Int {
        let flipToThree = String(n,radix: 3)
        let answer = Int(String(flipToThree.reversed()),radix:3)!
        return answer
}

Reference

profile
블로그 이사중 🚚 byukbyak.tistory.com

0개의 댓글