[코딩 테스트 연습 입문] 배열 자르기

2022. 12. 23. 16:36code/[프로그래머스] python

문제

정수 배열 numbers와 정수 num1, num2가 매개변수로 주어질 때, numbers num1번 째 인덱스부터 num2번째 인덱스까지 자른 정수 배열을 return 하도록 solution 함수를 완성해보세요.

 

❗제한사항

  • 2 ≤ numbers의 길이 ≤ 30
  • 0 ≤ numbers의 원소 ≤ 1,000
  • 0 ≤num1 < num2 < numbers의 길이

 

입출력 예

 

입출력 예 설명

입출력 예 #1

  • [1, 2, 3, 4, 5]의 1번째 인덱스 2부터 3번째 인덱스 4 까지 자른 [2, 3, 4]를 return 합니다.

입출력 예 #2

  • [1, 3, 5]의 1번째 인덱스 3부터 2번째 인덱스 5까지 자른 [3, 5]를 return 합니다.

 

✔풀이

def solution(numbers, num1, num2):
    answer = []
    for num in range(num1,num2+1,1):
        answer.append(numbers[num])
    return answer

📝설명

answer을 빈 리스트로 만들었다.

이 리스트에 numbers의 num1번째 인덱스부터 num2번째 인덱스까지 들어가도록 해야 한다.

for문을 사용해야겠다는 건 알았다.

다만, numbers의 인덱스에 어떻게 관여할것인가가 개인적으로 어렵게 느껴졌다.

이 문제에서 중요한 건 리스트[인덱스넘버]는 그 인덱스 넘버에 해당하는 값이 나온다는 것이다.

즉, for문을 통해 내가 numbers에서 다뤄야할 인덱스 넘버를 분류한다.

그 후, .append()를 활용하여 빈 리스트였던 answer에 값을 넣으면 된다.

 

👑모범 답안

 

👀느낀 점

: 단순한 문제를 오래 고민했다.

무조건 for문에서만 범위를 설정할 수 있다고 생각했다는 게 내 발목을 잡았다.

범위는 for문이 아니더라도 야무지게 사용 가능하다 잊지말자!!