728x90
📚문제
📝풀이
def solution(arr, flag):
x = []
for idx,k in enumerate(flag):
if k == True:
for _ in range(arr[idx]*2):
x.append(arr[idx])
else:
for _ in range(arr[idx]):
x.pop()
return x
리스트의 가장 마지막의 값을 제거하는 pop()함수를 사용해봤다
pop()함수에서 중요한 점은
1. list.pop() => 가장 마지막 값(가장 오른쪽 값) 반환
# Example
my_list = [1,2,3,4,5]
------------------------
my_list.pop() => 5 반환
my_list => [1,2,3,4] 반환
+ 추가로 pop()안에 인덱스를 지정하여 빼낼 수도 있다
# Example
my_list = [1,2,3,4]
-----------------------
popped = my_list.pop(1)
popped => 2
pop(1)로 지정하여
my_list의 1번 인덱스인 2 추출 가능
2. my_list.remove(), my_list.append() 함수와의 공통점/차이점
공통점 => 리스트를 변경함
차이점 => 반환값이 있음(가장 오른쪽의 값 or 인덱스로 지정해준 값)
728x90
'Python(알고리즘,문제풀이) > 프로그래머스(코딩기초트레이닝)' 카테고리의 다른 글
코딩기초트레이닝 / 정수를 나선형으로 배치하기 - Python (1) | 2023.11.09 |
---|---|
***코딩기초트레이닝 / 문자열 묶기 - 파이썬*** (0) | 2023.11.01 |
코딩기초트레이닝 / 특정 문자열로 끝나는 가장 긴 부분 문자열 찾기(rindex) (0) | 2023.10.27 |
코딩기초트레이닝 / 조건에 맞게 수열 변환하기2 - 파이썬 (0) | 2023.10.25 |
코딩기초트레이닝 / 가까운 1찾기 (0) | 2023.10.18 |