-
swift - backslash dot \.swift 2021. 5. 11. 21:39
문제 풀이 도중 다른 사람의 코드를 확인하다
이런 코드를 찾았다.
그런데
과 wholeNumberValue,
백슬래쉬 닷 wholeNumberValue
부분이 생소해 찾아보았다.
wholeNumberValue 는 캐릭터가 한문, 특수기호 등을 포함해 숫자라면
Int? 형으로 반환하는 메소드다.
\.
백슬래쉬 닷 은
key-path-expression 이다
\ <TYPE NAME> . <path>
이런 식으로 사용되는데, TYPE의 경우 타입 추론이 가능하여서, 추론이 가능한 상황이라면
백슬래쉬 닷<path> \.<path> 이런 식으로 사용이 가능하다.
알아본 내용으로 이 코드를 이해하면,
n-digit*9 ..< n 범위의 값을 가진 Array을 탐색하는데,
String(원소)를 compactMap을 통해
Character로 한 글자씩으로 나눈 후 .wholeNumberValue 하여
옵셔널 (Int) 가 된 것을 언래핑 하여, [Int] 배열로 만든다.
그리고 배열의 원소를 reduce로 0과 +, 합친다.
위에서 합친 값과 원소의 합이, n과 가장 먼저 일치하는
first 원소를 탐색하여 Int? 형으로 반환하는데,
탐색에 성공할 경우 언래핑 하여 Int, 실패할 경우 0으로 반환한다.
'swift' 카테고리의 다른 글
Swift - UserDefaults extension 활용 편하게 사용하기 (0) 2022.10.14 UIView - touch 관련 메소드, 멀티 터치 (2) 2021.07.13 swift style guide - Naming (0) 2021.06.20 swift - escaping closure, result type (0) 2021.06.03 로그 출력 (0) 2021.06.01