🔗 문제
https://school.programmers.co.kr/learn/courses/30/lessons/181860
문제 설명
아무 원소도 들어있지 않은 빈 배열 X가 있습니다. 길이가 같은 정수 배열 arr
과 boolean 배열 flag
가 매개변수로 주어질 때, flag
를 차례대로 순회하며 flag[i]
가 true라면 X의 뒤에 arr[i]
를 arr[i]
× 2 번 추가하고, flag[i]
가 false라면 X에서 마지막 arr[i]
개의 원소를 제거한 뒤 X를 return 하는 solution 함수를 작성해 주세요.
제한사항
- 1 ≤
arr
의 길이 =flag
의 길이 ≤ 100 arr
의 모든 원소는 1 이상 9 이하의 정수입니다.- 현재 X의 길이보다 더 많은 원소를 빼는 입력은 주어지지 않습니다.
입출력 예
arr | flag | result |
[3, 2, 4, 1, 3] | [true, false, true, false, false] | [3, 3, 3, 3, 4, 4, 4 ,4] |
💻 Code
def solution(arr, flag):
answer = []
for idx, f in enumerate(flag):
if f:
answer.extend([arr[idx] for _ in range(arr[idx] * 2)])
else:
answer = answer[:-arr[idx]]
return answer
'Algorithm > 프로그래머스' 카테고리의 다른 글
[Lv.0/Python] 7의 개수 (0) | 2023.07.10 |
---|---|
[Lv.0/Python] 특정 문자열로 끝나는 가장 긴 부분 문자열 찾기 (0) | 2023.07.09 |
[Lv.0/Python] 문자열 묶기 (0) | 2023.07.07 |
[Lv.0/Python] 리스트 자르기 (0) | 2023.07.07 |
[Lv.0/Python] 컨트롤 제트 (0) | 2023.07.07 |