📝 문제


✔️ 나의 풀이
def solution(arr, query):
s, e = 0, 0
for i in range(len(query)):
if i % 2 :
s += query[i]
else:
e = s + query[i] +1
return arr[s:e]
🔎 참고 풀이
def solution(arr, query):
for k, q in enumerate(query):
if k % 2 == 0:
arr = arr[:q + 1]
else:
arr = arr[q:]
return arr
✏️ 배운점
짝수와 홀수를 나눠서 생각하게 되면 굉장히 헷갈릴 수 있는 문제였다. 하지만 짝수의 경우 뒷부분을 잘라 버리고, 홀수의 경우 앞부분을 잘라 버리기 때문에 홀수를 시작점, 짝수를 끝점이라고 설정하면 해결할 수 있는 문제였다.
참고 풀이의 경우 enumerate를 활용하여 조금 더 간결하게 표현하였지만 결국에 풀이의 설계는 같다고 판단하였다.
반응형
'Codingtest' 카테고리의 다른 글
[프로그래머스][파이썬] #12. 조건에 맞게 수열 변환하기 2 (0) | 2023.08.18 |
---|---|
[프로그래머스][파이썬] #11. 왼쪽 오른쪽 (0) | 2023.08.16 |
[프로그래머스][파이썬] #09. 2의 영역 (0) | 2023.08.02 |
[프로그래머스][파이썬] #08. 부분 문자열 이어 붙여 문자열 만들기 (0) | 2023.07.28 |
[프로그래머스][파이썬] #07. 문자열 여러 번 뒤집기 (0) | 2023.07.27 |