https://github.com/onlybooks/algorithm-interview
1. 문제
leetcode 121. Best time to buy and sell stock
prices[i]가 i번째 날의 주식 가격인 배열 prices가 있다. 수익을 최대화시킬 수 있는 두 날짜를 골라 최대 수익을 리턴하여라. 만약 수익을 낼 수 없다면 0을 리턴하라.
2. 내 풀이
최대 이익, 최솟값을 관리하며 전체 배열을 탐색하는 방법으로 문제를 풀었다. 주어진 배열의 모든 원소에 대해 탐색을 진행한다. 탐색에서는 해당 원소가 현재까지의 최솟값보다 작다면 최솟값을 업데이트한다. 그리고 해당 원소에서 최솟값을 빼서 이익을 구하고, 그 값이 최대 이익보다 크다면 최대 이익을 업데이트 한다. 탐색이 끝나면 최대 이익을 리턴한다.
'Computer Science > 알고리즘' 카테고리의 다른 글
[파이썬 알고리즘 인터뷰] 13. 두 정렬 리스트의 병합 (0) | 2022.02.13 |
---|---|
[파이썬 알고리즘 인터뷰] 12. 팰린드롬 연결리스트 (0) | 2022.02.13 |
[파이썬 알고리즘 인터뷰] 10. 자기자신을 제외한 배열의 곱 (0) | 2022.02.07 |
[파이썬 알고리즘 인터뷰] 9. 세 수의 합 (0) | 2022.02.06 |
[파이썬 알고리즘 인터뷰] 8. 배열 파티션1 (0) | 2022.02.05 |