리스트 자르기

민태영·2023년 6월 16일
0

문제) 정수 n과 정수 3개가 담긴 리스트 slicer 그리고 정수 여러 개가 담긴 리스트 num_list가 주어집니다. slicer에 담긴 정수를 차례대로 a, b, c라고 할 때, n에 따라 다음과 같이 num_list를 슬라이싱 하려고 합니다.

  • n = 1 : num_list의 0번 인덱스부터 b번 인덱스까지
  • n = 2 : num_list의 a번 인덱스부터 마지막 인덱스까지
  • n = 3 : num_list의 a번 인덱스부터 b번 인덱스까지
  • n = 4 : num_list의 a번 인덱스부터 b번 인덱스까지 c 간격으로

나의 풀이

1) 상수 a, b, c에 각각 slicer의 0, 1, 2원소를 할당한다.

2) if문으로 n의 값을 판단하여 위의 요구사항에 맞는 로직을 구현

3) 리스트를 자르는건 slice를 사용하였다.

function solution(n, slicer, num_list) {
    const a = slicer[0]
    const b = slicer[1]
    const c = slicer[2]
    let answer = []
    
    if(n === 1) return num_list.slice(0, b + 1)
    if(n === 2) return num_list.slice(a)
    if(n === 3) return num_list.slice(a, b + 1)
    if(n === 4) {
        for(let idx = a; idx <= b; idx += c) {
            answer.push(num_list[idx])
        }
        return answer
    }
}
profile
꿈을 꾸는 개발자

0개의 댓글