보통 .pop()을 쓸 때, 리스트 이름 뒤에 .pop()을 붙여서 마지막 element를 빼냈던 것 같다.
그런데 어떤 변수에다가 stack.pop() 값을 할당해줄 수 있다.
코드를 보자.
여기 보면 기준점이 되는 index를 stack.pop()으로 할당해주었다.
a = stack.pop()으로 할당해주면 마지막 element의 인덱스를 가져올 수 있다.
그리고 결과를 효율적으로 저장해주는 방법인데,
코드를 보면 result를 저장할 때에
result = [0] * len(prices)로,
단순히 빈 배열인 result = [] 를 하기보다
애초에 0이 각 위치에 들어가있는 상태로 초기화를 시킨다.
이렇게 저장하면 따로 위치를 관리해줄 필요 없이 result 자체에 인덱스로 접근할 수 있다.
result[prev_index] 에다가 값을 할당해준 마지막 코드처럼.
결과 배열의 인덱스를 가지고 놀려면 단순히 빈 배열인 result = [] 를 하기보다 애초에 0이 각 위치에 들어가있는 상태로 설정하면 된다. *result = [0] * n
'LeetCode' 카테고리의 다른 글
처음의 index 값이 필요할 때 (enumerate로 index랑 같이 tuple로 만들어주기) (0) | 2025.02.05 |
---|---|
while문 조건의 순서 (0) | 2025.02.05 |
sort() 와 sorted() 차이 (0) | 2025.01.11 |
sort()에 대해서 - 조건이 있는 sort와 조건이 여러 개일 때 / lambda (0) | 2025.01.10 |
Element 2개일 때 1개 무시, 하나에 대해서만 조작하기 / for 문 한 번에 쓰기 (0) | 2025.01.10 |