티스토리 뷰
문제 설명
정수 리스트 num_list와 정수 n이 주어질 때, num_list의 첫 번째 원소부터 마지막 원소까지 n개 간격으로 저장되어있는 원소들을 차례로 담은 리스트를 return하도록 solution 함수를 완성해주세요.
제한 조건
5 ≤ num_list의 길이 ≤ 20
1 ≤ num_list의 원소 ≤ 9
1 ≤ n ≤ 4
내 답안
func solution(_ num_list:[Int], _ n:Int) -> [Int] {
var result: [Int] = []
for i in stride(from: 0, to: num_list.count, by: n) {
result.append(num_list[i])
}
return result
}
접근 방법
stride를 이용해서 접근
이 함수를 처음 만났다..
다른 풀이
func solution(_ num_list:[Int], _ n:Int) -> [Int] {
return stride(from: 0, to: num_list.count, by: n).map { num_list[$0] }
}
for 문을 안 써도 되는구나
func solution(_ num_list:[Int], _ n:Int) -> [Int] {
return num_list.enumerated().filter { $0.offset % n == 0 }.map { $0.element }
}
알게 된 것
stride(from:to:by:)
정리해둠
https://codingbackup.tistory.com/316
'코딩테스트' 카테고리의 다른 글
Lv.0 swift 홀수 vs 짝수 (0) | 2024.03.21 |
---|---|
Lv.0 swift 순서 바꾸기 (0) | 2024.03.21 |
Lv.0 swift 수 조작하기 (0) | 2024.03.20 |
Lv.0 swift 문자열 앞의 n글자 (1) | 2024.03.19 |
Lv.0 swift 제곱수 판별하기 (0) | 2024.03.18 |
최근에 올라온 글