본문 바로가기
Coding Test/Python

[프로그래머스] 배열 조각하기 Python 풀이

by giem 2023. 4. 21.
반응형

 


문제

사실 어려운 문제가 아닌데 정답률이 낮게 되어 있어서 후다닥 블로그로 정리를 해봤다.


구현

s(start), e(end) 포인터 두 개를 조작하면서 마지막에 slice를 반환하도록 구현을 할 것이다.

query 배열을 index 가지고 돌면서 s와 e를 각각 조작해 주면 된다.

아예 slice로 다 해도 되지만 성능상 좋지 않아서 이렇게 설계를 했다.


코드
def solution(arr, query):
    s,e=0,0	#0,len(arr)
    for i in range(len(query)):
        if i%2:
            s+=query[i]
        else:
            e=s+query[i]
        
    return arr[s:e] if s!=e else [-1]

사실 e도 arr의 길이로 초기화해주어야 하는 게 정상적이지만 초반에 습관적으로 0,0으로 초기화해 버렸다.

query len이 아마 2 이상인 테스트 케이스만 있어서 통과할 수 있었던 것 같다.


다른 풀이

대부분 이와 비슷하게 구현한 것 같다.

 

 

반응형

댓글