티스토리 뷰
프로그래머스에서 "3진법 뒤집기"라는 문제에서 다른 분의 답을 보고 진수 변환이 편리하게 가능한 것을 알게 되었다.
아래는 공식문서에 나와있는 정보이다.
위의 내용을 보면 알 수 있듯이 text를 integer 값으로 변환시킬 수 있는 메서드이다. radix는 2에서 36사이의 값이어야 하고, default는 10이라고 한다.
x진수를 10진수로
평소에 문제를 풀다보면 String값을 Int로 바꾸는 경우가 많았다. 예를 들어 String값으로 주어진 "123"을 Int로 사용하고 싶을 땐 Int("123")을 사용하는데, 이것이 radix에 default값이 10이 들어가있던 것이다. 즉, Int("123", radix: 10)이 원래의 표현이지만 radix가 생략된 것이다. 이때 주의해야 할 것은 리턴값은 옵셔널이다.
아래의 예시 코드를 보고 확실하게 이해해보자.
즉, Int("a", radix: b)를 이용하면 b진법으로 나타낸 a라는 수가 10진법으로 어떤 수인지 알 수 있다.
위의 코드에선 반드시 값이 있기 때문에 !를 이용하여 강제 언래핑을 해준 상태이다.
10진수를 x진수로
그렇다면 10진법으로 나타낸 어떤 수를 다른 진법으로 나타내고 싶을 땐 어떻게 해야할까.
위에서 Int를 이용했다면 이번엔 String을 이용하면 된다.
String(a, radix: b)에서 a에는 변환하고 싶은 수를(Int), b에는 a를 어떤 진수로 나타내고 싶은지
간단하게 진수 변환을 할 수 있는 방법이 있으므로 알맞게 잘 사용해보자.
'Swift' 카테고리의 다른 글
[Swift] 접근 제어 (0) | 2022.08.28 |
---|---|
[Swift] Optional(옵셔널) (0) | 2022.07.07 |
[Swift] 튜플(Tuple) (0) | 2022.06.10 |
[Swift] 순열과 조합(Permutation / Combination) 구현해보기 (0) | 2022.05.10 |
[Swift] enumerated() (0) | 2022.04.26 |
댓글
최근에 올라온 글
- Total
- Today
- Yesterday