아요 개발 일기

[프로그래머스] Level 1. 3진법 뒤집기 본문

Algorithms/문제 풀이

[프로그래머스] Level 1. 3진법 뒤집기

소진이 2023. 1. 17. 10:29

문제

 

풀이

import Foundation

func solution(_ n:Int) -> Int {
    
    var result: String = ""
    var num = String(n, radix: 3)
       
    for char in num.reversed() {
        result.append(String(char))
    }

    return Int(result, radix: 3)!

}

저는 radix를 사용해서 쉽게 진수를 변환했어요!

Apple 공식 사이트 참고

 

3진수로 변환한 값을 거꾸로 저장하기 위해서 for-in문을 사용했습니다.

reversed()를 사용하여 num 문자열을 거꾸로 뽑아줍니다.

그 후에 미리 만들어 놓은 result 변수에 append (추가) 해줍니다.

마지막으로 result 값을 다시 10진수로 바꾸기 위해 3을 다시 radix 메서드를 이용해주면 끝!

 

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

 

저는 n 값을 3진수로 변환 -> 3진수로 변환한 값을 거꾸로 저장 -> 다시 10진수로 변환 순서로 코드를 짰는데,

이 코드는 제 2,3번째 단계를 하나로 합쳐줬어요! 

아주 간단 명료하네요!!!!!

 

정확성 테스트

 

제가 푼 풀이

 

좋은 풀이

오늘은 거의 비슷하네용~~~