티스토리 뷰
728x90
https://school.programmers.co.kr/learn/courses/30/lessons/12932
문제 사진
내 풀이
1.
func solution(_ n:Int64) -> [Int] {
var arr = String(n).map { $0 }
var resultStr: [String] = []
var resultInt: [Int] = []
for i in arr {
resultStr.append(String(i))
}
for _ in resultStr {
resultInt.append(Int(resultStr.popLast()!)!)
}
return resultInt
}
비효율적이라 생각한다. 빈배열과 for문을 두번 써야한다는점과 가독성 측면에서도 별로여서 아래처럼 리팩토링을 해봤다.
2. 리팩토링
func solution(_ n:Int64) -> [Int] {
var result: [Int] = []
// 1
String(n).reversed().map { result.append(Int(String($0))!) }
return result
}
solution(12345)
다른사람의 풀이
func solution(_ n:Int64) -> [Int] {
let arr = String(n).compactMap { Int(String($0)) }
return arr.reversed()
}
굳이 빈배열을 만들지 않아도 됐었던거 같다.
compactMap을 사용해서 옵셔널처리를 해준것과
[Int] 형태의 배열을 먼저 만들고 나서 reversed()를 사용해 순서를 뒤집어주는 방식인데
강제 언래핑 (!)을 사용했던 내 방식을 compactMap이 배울점이었던것 같다.
배운것
reversed()
collection 요소들을 역순으로 정렬해 반환합니다.
예제
let word = "Backwards"
for char in word.reversed() {
print(char, terminator: "")
}
// Prints "sdrawkcaB"
728x90
'iOS' 카테고리의 다른 글
[Swift 알고리즘] - 문자열 내림차순으로 배치하기 (Programmers) (0) | 2022.11.15 |
---|---|
[Combine] Chapter5: Combining Operators (0) | 2022.11.10 |
[Combine] Chapter4: Filtering Operators (1) | 2022.11.03 |
[Combine] Chapter 3: Transforming Operators (0) | 2022.10.28 |
[Combine] 개념 (0) | 2022.10.13 |
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
TAG
- Swift final
- 원티드 프리온보딩
- Swift init
- RIBs tutorial
- removeLast()
- iOS error
- swift 고차함수
- Swift 프로그래머스
- Swift inout
- Swift joined()
- Swift 알고리즘
- Swift Leetcode
- Swift joined
- RTCCameraVideoCapturer
- Swift 내림차순
- Class
- Swift ModernRIBs
- ios
- 2023년 회고
- swift protocol
- Swift 프로퍼티
- Swift RIBs
- swift property
- Combine: Asynchronous Programming with Swift
- swift (programmers)
- Swift
- swift reduce
- CS 네트워크
- swift programmers
- Swift Error Handling
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
글 보관함