코딩 테스트/프로그래머스
[Python] 프로그래머스 lv.0 배열 조각하기
위시리
2024. 10. 29. 20:34
문제 분석
- 정수 arr, query
- query를 순회하면서
- 짝수 인덱스 : arr에서 query[ i ] 번 인덱스를 제외하고 배열의 query[ i ]번 인덱스 뒷부분을 잘라 버림
- 홀수 인덱스 : arr에서 query[ i ] 번 인덱스를 제외하고 배열의 query[ i ]번 인덱스 앞부분을 잘라 버림
코드 설계
- 어떻게 배열 값을 버리는가 : del, remove( ) ..
정답 코드
del 이용
def solution(arr, query):
for i in range(len(query)) :
if i % 2 == 0 : # 짝수 인덱스
del arr[query[i]+1:]
else : # 홀수 인덱스
del arr[:query[i]]
return arr
다른 사람 코드
def sol(arr, q) :
for k, q in enumerate(q) :
if k % 2 == 0 :
arr = arr[:q+1]
else :
arr = arr[q:]
return arr
** enumerate( ) : 인자로 넘어온 목록을 기준으로 인덱스와 우너소를 차례대로 접근하게 해주는 반복자(iterator) 객체를 반환해주는 함수
def sol(q) :
for k, q in enumerate(q) :
print(k,q)
q = [4, 1, 2]
print(sol(q))
# result :
# 0 4
# 1 1
# 2 2