(부제:포기하지 않고 앞으로 나아가기)
99클럽 코테 스터디 4일차 TIL + 스택
📍오늘의 학습 키워드
스택
📝 공부한 내용 본인의 언어로 정리하기
주요 개념!
스택이란
스택(Stack)은 프로그래밍에서 자주 사용되는 기본 자료구조 중 하나입니다. 스택은 LIFO(Last In, First Out) 원칙을 따릅니다. 즉, 마지막에 삽입된 요소가 가장 먼저 삭제되는 구조입니다. 스택은 다음과 같은 두 가지 주요 연산을 제공합니다
📖 오늘의 회고
📚 어떤 문제가 있었고, 나는 어떤 시도를 했는지
- 문제에 대해서 설명만 기재해보도록 하겠다.
- 이 문제는 주식 가격이 기록된 배열에서 각 시점별로 주식 가격이 떨어지지 않은 기간을 계산하는 것입니다. 문제를 해결하기 위한 접근 방법과 이를 스택을 사용해 해결해야 하는 이유를 키워드와 함께 상세히 설명하겠습니다.
문제 접근 방법
- 문제 분석:
- 각 시점의 주식 가격이 몇 초 동안 떨어지지 않는지 계산해야 합니다.
- 주식 가격이 떨어지기 전까지의 시간을 계산하는 것이 핵심입니다.
- 자료구조 선택:
- 스택: 스택은 LIFO 구조로, 최근의 값을 쉽게 추적하고 비교할 수 있기 때문에 각 가격이 언제 떨어지는지 확인하는 데 유리합니다.
- 키워드:
- LIFO (Last In, First Out): 스택의 기본 특성으로, 최근에 들어온 값을 먼저 확인할 수 있습니다.
- 모노톤 스택 (Monotonic Stack): 주식 가격을 순차적으로 확인하면서 떨어지는 시점을 효율적으로 찾을 수 있는 방법입니다.
- 시간 복잡도: 스택을 사용하여 한 번의 반복으로 해결할 수 있어 O(n) 시간 복잡도로 문제를 해결할 수 있습니다.
문제 접근 방법 상세 설명
- 스택을 사용한 이유:
- 스택은 현재의 주식 가격과 이전의 주식 가격을 비교하고, 현재 가격이 이전 가격보다 낮아질 때까지 계속 추적할 수 있습니다.
- 가격이 떨어지지 않은 기간을 쉽게 계산할 수 있습니다.
- 알고리즘:
- 각 시점에서 가격을 순차적으로 확인합니다.
- 스택을 사용하여 현재 가격이 이전 가격보다 낮아질 때까지의 기간을 계산합니다.
- 스택에는 인덱스를 저장하여, 언제 가격이 떨어지는지 쉽게 추적할 수 있습니다.
🤔 어떻게 해결했는지
- 블로그 글 참고! (링크 : https://develop-tracking.tistory.com/52)
🤓 무엇을 새롭게 알았는지
⏳내일 학습할 것은 무엇인지
'알고리즘 & 자료구조 > 스터디 (Algorithm Study)' 카테고리의 다른 글
[99클럽 코테 스터디] 📝 Day6. 꾸준함2 (0) | 2024.05.26 |
---|---|
[99클럽 코테 스터디] 📝 Day5. 꾸준하게 (0) | 2024.05.26 |
[99클럽 코테 스터디] 📝 Day3. 바쁜 일상속 노력 (0) | 2024.05.23 |
[99클럽 코테 스터디] 📝 Day2. 꾸준함 (1) | 2024.05.22 |
[99클럽 코테 스터디] 📝 Day1. OT (0) | 2024.05.22 |