본문 바로가기

프로그래머스 (Swift)/기초

[Day12-1] 리스트 자르기

문제

 

내 정답 코드

import Foundation

func solution(_ n:Int, _ slicer:[Int], _ num_list:[Int]) -> [Int] {
    let (a, b, c) = (slicer[0], slicer[1], slicer[2])
    
    switch n {
    case 1:
        return Array(num_list[0...b])
    case 2:
        return Array(num_list[a...])
    case 3:
        return Array(num_list[a...b])
    default:
        return num_list[a...b].enumerated().filter { $0.offset.isMultiple(of: c) }.map { Int($0.element) }
    }
}

 

#

1. 4개의 케이스를 구성하고

2. 각 케이스의 맞게 리스트를 잘라준다.

3. 가장 복잡한 4번 케이스는 enumerated를 활용하여 인덱스를 필터링하여 해결하였다.


배운 기술

'프로그래머스 (Swift) > 기초' 카테고리의 다른 글

[Day12-3] 배열 만들기 3  (0) 2024.03.24
[Day12-2] 첫 번째로 나오는 음수  (0) 2024.03.24
[Day11-5] 가까운 1 찾기  (0) 2024.03.17
[Day11-4] 카운트 다운  (0) 2024.03.17
[Day11-3] 글자 지우기  (0) 2024.03.17