문제
알게 된 내용
- 리스트의 최대(or 최소)값을 가지는 index를 획득하는 방법(풀이1으로 풀면서 필요했던 내용)
index_max = max(range(len(values)), key=values.__getitem__)
풀이1(로직 개선 필요)
- 전체 range에서 최대값의 index를 확인 및 저장
- 처음~해당 index까지 주식 모아서 판매.
- 저장된 최대index~끝 을 확인하여 최대값의 index 확인
- 자기 자신일 경우 넘어감.
- 아닐경우
- 현재index~최대값의 index까지 주식 모아서 판매.
풀이2(정답)
- 맨 뒤에서 부터 확인한다.
- 맨 뒤의 값을 max에 저장
- 하나씩 앞으로 가면서 값을 확인
- 현재 max보다 클 경우, max 값 갱신
- 현재 max보다 작을 경우, 현재 max 값과의 차이 만큼 수익에 더함
'sw > 알고리즘' 카테고리의 다른 글
백준 6987 월드컵 (0) | 2024.01.13 |
---|---|
백준 미확인도착지 (0) | 2023.03.10 |
백준 16235 나무 재테크 (0) | 2023.01.28 |
백준 17070 파이프 옮기기1 (0) | 2023.01.24 |
프로그래머스 다리를 지나는 트럭 (0) | 2022.12.19 |