반응형
문제
사실 어려운 문제가 아닌데 정답률이 낮게 되어 있어서 후다닥 블로그로 정리를 해봤다.
구현
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 이상인 테스트 케이스만 있어서 통과할 수 있었던 것 같다.
다른 풀이
대부분 이와 비슷하게 구현한 것 같다.
반응형
'Coding Test > Python' 카테고리의 다른 글
[프로그래머스] 택배 배달과 수거하기 Python 풀이 (0) | 2023.06.29 |
---|---|
[프로그래머스] 요격 시스템 python 풀이 (1) | 2023.04.17 |
[프로그래머스] 두 원 사이의 정수 쌍 Python 풀이 (0) | 2023.04.17 |
[Codility] Pi Code Challenge Python (1) | 2023.04.14 |
[프로그래머스] 방의 개수 Python 풀이 (1) | 2023.04.13 |
댓글