💬 문제
[코딩테스트 연습 - 자연수 뒤집어 배열로 만들기](https://school.programmers.co.kr/learn/courses/30/lessons/12932)
💬 풀이
func solution(_ n:Int64)->[Int]{returnArray(String(n)).reversed().map({Int(String($0))! })}💬 알게된 문법
✅ compactMap
- 시퀀스의 각 요소를 transform한 결과들 중 nil이 아닌 것들만 반환한다.
return Array(String(n)).reversed().compactMap({Int(String($0))})
// [5, 4, 3, 2, 1]
// map과 비교 -> map은 강제 언래핑 또는 옵셔널 바인딩을 해주어야 한다.
return Array(String(n)).reversed().map({Int(String($0))! })// ✅ [ map과 비교 ]
letmapped:[Int?]= possibleNumbers.map{ str inInt(str)}
// [1, 2, nil, nil, 5] (map은 nil을 포함함)
letcompactMapped:[Int]= possibleNumbers.compactMap{ str inInt(str)}
// [1, 2, 5] (compactMap은 nil을 제외)- 배열에서 nil을 제거하고 옵셔널 바인딩을 하고싶다면 compactMap을 사용하자!
- 시간복잡도: O(m+n)
https://developer.apple.com/documentation/swift/sequence/compactmap(_:)
✅ flatMap
- 시퀀스의 각 요소를 transform한 결과들을 연결하여 반환한다.
- 2차원 배열 → 1차원 배열로 flat하고 싶을 때 사용하자!
letnumbers=[1,2,3,4]letmapped= numbers.map{Array(repeating: $0, count: $0)}
// [[1], [2, 2], [3, 3, 3], [4, 4, 4, 4]]
letflatMapped= numbers.flatMap{Array(repeating: $0, count: $0)}
// [1, 2, 2, 3, 3, 3, 4, 4, 4, 4]https://developer.apple.com/documentation/swift/sequence/flatmap(_:)-jo2y
💬 문제[코딩테스트 연습 - 자연수 뒤집어 배열로 만들기](https://school.programmers.co.kr/learn/courses/30/lessons/12932)
💬 풀이💬 알게된 문법✅ compactMap
https://developer.apple.com/documentation/swift/sequence/compactmap(_:)
✅ flatMap
https://developer.apple.com/documentation/swift/sequence/flatmap(_:)-jo2y