알고리즘 문제를 풀 때 Character나 String을 Int로 변경해야 하는 경우가 있습니다.
기존의 방식과 새롭게 알게 된 wholeNumberValue에 대해 알아보겠습니다.
기존
기본적으로는 Character를 String으로 변환해준 뒤, 이를 Int로 변환해주는 방법을 사용하였습니다.
(Character를 바로 Int로 변환해주면 에러가 발생하기 때문에, String으로 변환을 먼저 해주어야 합니다.)
var num: Character = "7"
if let number = Int(String(num)) {
print(number)
}
// 7
Optional로 반환되기 때문에 옵셔널 바인딩이나 언래핑 등을 해주어야 합니다.
wholeNumberValue
하지만 이에 대해 공부하던 도중, wholeNumberValue에 대해 알게 되었습니다.
wholeNumberValue란 만약 Character가 whole number라면 Int로 변경해주는 프로퍼티입니다.
whole number란 0과 자연수인 모든 정수를 의미합니다. 따라서 음수나 소수 등에는 사용할 수 없습니다.
var num: Character = "7"
if let number = num.wholeNumberValue {
print(number)
}
// 7
wholeNumberValue 또한 Optional로 반환되기 때문에 옵셔널 바인딩이나 언래핑 등을 해주어야 합니다.
장점
wholeNumberValue의 장점은 우선 속도가 더욱 빠르고,
기본적으로 제공해주는 프로퍼티이기 때문에 활동을 하는 것이 조금 더 스위프트에 대한 이해도가 높아보일 수 있습니다 ㅋㅋ.
728x90
'Swift' 카테고리의 다른 글
[Swift] 클래스와 프로토콜에 대한 고찰 및 사용 기준 (0) | 2025.01.23 |
---|---|
[Swift] 스위프트 - 배열에 있는 문자와 문자열 간단하게 출력하기 (String, joined, sorted) (0) | 2024.01.01 |
[Swift] 스위프트에서의 ,와 &&의 차이점 (2) | 2023.12.28 |
[Swift] Swift의 메모리 구조 (0) | 2023.08.18 |
[Swift] Swift API Design Guidelines 요약 및 정리 (0) | 2023.08.14 |