진수 변환이 필요할 때 for문으로 나머지를 계속 넣어주는 식으로 코드를 만들었었는데..........
스위프트에서는 radix만 이용하면 간단하게 변환할 수 있다.
// 1. 10진수를 3진수로 변환 2. 3진수를 다시 10진수로 변환
let n = 125
let ternary = String(n, radix: 3)
print(ternary) // 11122
let redecimal = Int(ternary, radix: 3)!
print(redecimal) // 125
위는 프로그래머스 알고리즘 문제 풀다가.. 해본 예시
10진수를 n진수로 변환할 때는 String을,
n진수를 10진수로 변환할 때는 Int를 사용해주면 끝
응용버전 -
프로그래머스 3진법 뒤집기
-> 주어진 수 n을 3진수로 변환 후, 그 수를 뒤집은 다음, 다시 10진수로 변환한 결과 출력
let n = 125
print(Int(String(String(n,radix:3).reversed()), radix:3)!)
'iOS' 카테고리의 다른 글
Xcode ) Storyboard - Object Library (0) | 2022.05.29 |
---|---|
swift - 사용자의 위치정보 얻기 (0) | 2022.05.26 |
swift - Extension (0) | 2022.05.13 |
swift ) Protocol 관련 정리 (0) | 2022.04.28 |
swift - optional 관련 (0) | 2022.04.26 |