Programmers/코딩 기초 트레이닝
[프로그래머스] 빈 배열에 추가, 삭제하기
jjam-mo
2024. 2. 14. 17:39
arr의 첫 번째 요소가 3이고 flag가 true이므로 3을 (3*2)번 추가한다. 그리고 arr의 두 번째 요소가 2이고 flag가 false이므로 존재하는 요소에 마지막에서 2번 삭제한다.
추가하는 건 어떻게든 했는데 마지막 원소 몇 개를 제거하는게 잘 안돼서 답답했다.
결국 찾아보니 삭제를 하지 않고 뒤에 몇 개만 빼고 앞에서부터 그냥 answer에 넣어주는 것이었다...!!!
def solution(arr, flag):
answer = []
for i in range(len(flag)):
if flag[i] == True: #왜 if flag[i]: 이렇게만 해도 가능할까?
answer.extend([arr[i]]*arr[i]*2)
else:
answer = answer[:-arr[i]] #마지막을 빼지않고 처음부터 뺀 만큼만을 answer로 한다.
return answer