연습장

50. 리스트 자르기 본문

프로그래머스/0단계

50. 리스트 자르기

js0616 2023. 7. 10. 21:05

Q. 정수 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 간격으로
올바르게 슬라이싱한 리스트를 return하도록 solution 함수를 완성해주세요.

 

 


n 에 따라서 4가지의 슬라이싱이 진행된다. -> 조건문

 

a = slicer[0]

b = slicer[1]  이며

 

각각 if 문을 이용하여 문제 그대로 범위에 주의하며 슬라이싱했다. 

 

4번의 경우 자바스크립트의 경우 slicer 가 step (간격)  이 없어서 

직접 for 문으로 2칸씩 뛰도록 만들어 주었다. 

 

 

        function solution(n, slicer, num_list) {
            var answer = [];
            // 정수  n 에 따라서 4가지 case 를 가진다.
            if (n == 1) {
                answer = num_list.slice(0, slicer[1] + 1)
            }
            else if (n == 2) {
                answer = num_list.slice(slicer[0],)
            }
            else if (n == 3) {
                answer = num_list.slice(slicer[0], slicer[1] + 1)
            }
            else if (n == 4) {
                for (let i = slicer[0]; i <= slicer[1]; i += 2) {
                    answer.push(num_list[i])
                }
            }
            return answer;
        }

 

'프로그래머스 > 0단계' 카테고리의 다른 글

52. 배열 조각하기  (0) 2023.07.10
51. 2의 영역  (1) 2023.07.10
49. 문자개수 세기  (0) 2023.07.10
48. 세로 읽기  (0) 2023.07.10
47. 문자열 뒤집기  (0) 2023.07.10