def solution(arr, query):
answer = list(arr)
for i in query:
if i % 2 == 0:
answer = (answer[:i+1])
else:
answer = (answer[i:])
return answer
<aside> 💡
음.. 내가 이해한 문제의 핵심은 query의 길이 만큼 반복 되면서, 해당 처리된 결과가 다음의 입력값으로 사용되어야 한다는 것이었다. 그래서 원본이라도 살려야 하나.. 싶어서 list(arr) 로 원본을 유지하고, 나머지 answer 를 갱신 하는 방식으로 진행했다. 이게 맞을까.. 검토받아 보자!
</aside>
👍 핵심을 제대로 이해하셨어요!
말씀하신 대로 이 문제의 포인트는 query
의 각 원소를 차례대로 처리하면서, 매번 잘린 결과 배열이 다음 단계의 입력으로 이어진다는 점이에요. 따라서 answer
를 계속 갱신하는 구조가 맞습니다.
def solution(arr, query):
answer = list(arr) # arr 복사
for i in query:
if i % 2 == 0: # 짝수 → 뒷부분 잘라냄
answer = (answer[:i+1])
else: # 홀수 → 앞부분 잘라냄
answer = (answer[i:])
return answer
list(arr)
로 원본 유지 → 불필요하게 arr
가 손상되지 않음.answer
를 업데이트 → 문제 의도에 정확히 맞음.