Notice
Recent Posts
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 카카오맵클론
- TDD
- 프로그래머스
- five lines of code
- Swift코딩테스트
- UIKit
- unittest
- 코딩테스트입문
- RC
- ios면접
- hackerrank
- SWIFT
- 앱의생명주기
- mrc
- css학습
- firestore
- 리팩터링
- Safari Inspector
- IOS
- ARC
- storekit2
- Di
- alamofire
- firebase
- 클린코드
- Swift디자인패턴
- RxSwift
- algorithm
- AutoLayout
- five lines of cdde
Archives
- Today
- Total
샘성의 iOS 개발 일지
[프로그래머스 입문] 배열 자르기 본문
728x90
문제 설명:
정수 배열 numbers와 정수 num1, num2가 매개변수로 주어질 때, numbers의 num1번 째 인덱스부터 num2번째 인덱스까지 자른 정수 배열을 return 하도록 solution 함수를 완성해보세요.
내 풀이:
import Foundation
func solution(_ numbers:[Int], _ num1:Int, _ num2:Int) -> [Int] {
return Array(numbers[num1...num2])
}
회고:
처음엔 단순히 numbers[num1...num2]을 return 했다가 에러가 났다. 에러 문구를 살펴보니, 배열을 numbers[num1...num2] 이렇게 자른 타입은 ArraySlice 타입이라는 문구가 써있었다. 플레이그라운드에 코드 똑같이 치고 dummy 값 주고 Definition타고 보니 ArraySlice는 Subsequence와 같은 것이었다. 오히려 Subsequence가 ArraySlice의 typealias라니..ㅎㅎ.. 그래서 Array로 감싸야했구나..!
ArraySlice는 본체를 참조하고 있을테니 새로운 메모리를 차지하지 않을거고 그렇다면 본체가 자칫하면 메모리에서 해제되지 않을 수 있다는 점까지 추가적으로 배울 수 있었다.
728x90
'Algorithm > 프로그래머스' 카테고리의 다른 글
[코딩테스트 입문] 순서쌍의 개수 (0) | 2023.05.09 |
---|---|
[코딩테스트 입문] 진료 순서 정하기 (0) | 2023.05.09 |
[코딩테스트 입문] 특정 문자 제거하기 (0) | 2023.05.06 |
[코딩테스트 입문] 문자 반복 출력하기 (0) | 2023.05.06 |
[코딩테스트 입문] 짝수 홀수 개수 (0) | 2023.05.06 |