백준

[Swift] 진법 변환 radix

화찌님 2023. 11. 11. 00:21

공식문서

https://developer.apple.com/documentation/swift/int/init(_:radix:)

 

init(_:radix:) | Apple Developer Documentation

Creates a new integer value from the given string and radix.

developer.apple.com


찾아본 계기

프로그래머스 [이진 변환 반복하기]를 풀고 다른 코드와 비교를 하는 과정에서 손쉽게 진법을 변환하는 radix메서드를 알게 되었다.

이 메서드를 쓴다면 비교적 진법 변환에 있어서 간단하게 코드로 나타낼 수 있다.


사용법

첫번째 파라미터는 변환 값(String/IntType), 두번째 파라미터는 어떤 진법인지(IntType) 들어간다.

//Int(String, radix:...)은 첫번째 파라미터인 String을 10진법으로 바꾸어 준다.

var a = Int("100", radix:2)!
print(a)//4

var b = Int("100", radix:8)!
print(b)//64

var c = Int("100", radix:10)!
print(c)//100

2진법 "100"은 >> 4

8진법 "100"은 >> 64

10진법 "100"은 >> 100 이 나오는 것을 확인할 수 있다.

 

//String(Int, radix:..)이라면, 첫번째 파라미터인 Int를 radix진법으로 바꿔준다.

var a = String(100, radix:2)
print(a)//1100100

var b = String(100, radix:8)
print(b)//144

var c = String(100, radix:10)
print(c)//100

100(10)을 

2진법으로 표현: 1100100

8진법으로 표현: 144

10진법으로 표현: 100


즐거운 코딩🙌

 

'백준' 카테고리의 다른 글

비밀지도  (1) 2023.11.12
연속되는 문자에 관한 문제 풀이  (0) 2023.11.11
백준 스위프트 2108 통계학  (0) 2023.01.10
백준 스위프트 1874 스택수열  (0) 2023.01.07
스위프트 백준 11866 요세푸스문제  (0) 2023.01.07