sw/알고리즘
백준 11501 주식
넉넉-
2023. 3. 25. 16:42
문제
알게 된 내용
- 리스트의 최대(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 값과의 차이 만큼 수익에 더함