문제

알게 된 내용

  • 리스트의 최대(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

+ Recent posts