본문 바로가기

코딩/프로그래머스

[프로그래머스 / 파이썬] 배열 만들기 3

728x90
반응형

문제 설명

정수 배열 arr 2개의 구간이 담긴 배열 intervals 주어집니다.

intervals 항상 [[a1, b1], [a2, b2]] 꼴로 주어지며 구간은 닫힌 구간입니다. 닫힌 구간은 끝값과 사이의 값을 모두 포함하는 구간을 의미합니다.

이때 배열 arr 번째 구간에 해당하는 배열과 번째 구간에 해당하는 배열을 앞뒤로 붙여 새로운 배열을 만들어 return 하는 solution 함수를 완성해 주세요.


제한사항

  • 1 ≤ arr 길이 ≤ 100,000
  • 1 ≤ a1 ≤ b1 < arr 길이
  • 1 ≤ a2 ≤ b2 < arr 길이

입출력

arr intervals result
[1, 2, 3, 4, 5] [[1, 3], [0, 4]] [2, 3, 4, 1, 2, 3, 4, 5]

입출력 설명

입출력 #1

  • 번째 구간에 해당하는 배열은 [2, 3, 4] 입니다.
  • 번째 구간에 해당하는 배열은 [1, 2, 3, 4, 5] 입니다.
  • 따라서 배열을 앞뒤로 붙인 배열인 [2, 3, 4, 1, 2, 3, 4, 5] return 합니다.

 


solution.py

def solution(arr, intervals):
    answer = []
    temp = arr
    for i, j in intervals:
        for k in range(i,j):
            answer.append(temp[i:j+1])
            break
    
    return answer[0] + answer[1]
반응형