[Lv. 0] 배열 조각하기프로그래머스/Level 02023. 5. 8. 13:14
Table of Contents
문제 출처 : https://school.programmers.co.kr/learn/courses/30/lessons/181893
난이도 : Level.0
언어 : Kotlin
문제 설명 :
정수 배열 arr와 query가 주어집니다.
query를 순회하면서 다음 작업을 반복합니다.
- 짝수 인덱스에서는 arr에서 query[i]번 인덱스를 제외하고 배열의 query[i]번 인덱스 뒷부분을 잘라서 버립니다.
- 홀수 인덱스에서는 arr에서 query[i]번 인덱스는 제외하고 배열의 query[i]번 인덱스 앞부분을 잘라서 버립니다.
위 작업을 마친 후 남은 arr의 부분 배열을 return 하는 solution 함수를 완성해 주세요.
제한 사항 :
- 5 ≤ arr의 길이 ≤ 100,000
- 0 ≤ arr의 원소 ≤ 100
- 1 ≤ query의 길이 < min(50, arr의 길이 / 2)
- query의 각 원소는 0보다 크거나 같고 남아있는 arr의 길이 보다 작습니다.
입출력 예 :
arr | query | result |
[0, 1, 2, 3, 4, 5] | [4, 1, 2] | [1, 2, 3] |
풀이 :
class Solution {
fun solution(arr: IntArray, query: IntArray): IntArray {
var answer: IntArray = arr.clone()
for (i in query.indices) {
answer = if (i % 2 == 0) {
answer.sliceArray(0 .. query[i])
} else {
answer.sliceArray(query[i] until answer.size)
}
}
return answer
}
}
'프로그래머스 > Level 0' 카테고리의 다른 글
[Lv. 0] 배열 만들기 3 (0) | 2023.05.08 |
---|---|
[Lv. 0] 2의 영역 (0) | 2023.05.08 |
[Lv. 0] n 번째 원소부터 (0) | 2023.05.05 |
[Lv. 0] 순서 바꾸기 (0) | 2023.05.05 |
[Lv. 0] 왼쪽 오른쪽 (0) | 2023.05.05 |
@스몰스테핑 :: 작은 발걸음
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!