Algorithm/Study

[99클럽 코테 스터디] 📝 Day4. 회사… 힘들다.. 하지만..

ioh'sDeveloper 2024. 5. 23. 22:39

(부제:포기하지 않고 앞으로 나아가기)

99클럽 코테 스터디 4일차 TIL + 스택


📍오늘의 학습 키워드

스택

📝 공부한 내용 본인의 언어로 정리하기

주요 개념!

스택이란
스택(Stack)은 프로그래밍에서 자주 사용되는 기본 자료구조 중 하나입니다. 스택은 LIFO(Last In, First Out) 원칙을 따릅니다. 즉, 마지막에 삽입된 요소가 가장 먼저 삭제되는 구조입니다. 스택은 다음과 같은 두 가지 주요 연산을 제공합니다

📖 오늘의 회고

📚 어떤 문제가 있었고, 나는 어떤 시도를 했는지

  • 문제에 대해서 설명만 기재해보도록 하겠다.
  • 이 문제는 주식 가격이 기록된 배열에서 각 시점별로 주식 가격이 떨어지지 않은 기간을 계산하는 것입니다. 문제를 해결하기 위한 접근 방법과 이를 스택을 사용해 해결해야 하는 이유를 키워드와 함께 상세히 설명하겠습니다.

문제 접근 방법

  1. 문제 분석:
    • 각 시점의 주식 가격이 몇 초 동안 떨어지지 않는지 계산해야 합니다.
    • 주식 가격이 떨어지기 전까지의 시간을 계산하는 것이 핵심입니다.
  2. 자료구조 선택:
    • 스택: 스택은 LIFO 구조로, 최근의 값을 쉽게 추적하고 비교할 수 있기 때문에 각 가격이 언제 떨어지는지 확인하는 데 유리합니다.
  3. 키워드:
    • LIFO (Last In, First Out): 스택의 기본 특성으로, 최근에 들어온 값을 먼저 확인할 수 있습니다.
    • 모노톤 스택 (Monotonic Stack): 주식 가격을 순차적으로 확인하면서 떨어지는 시점을 효율적으로 찾을 수 있는 방법입니다.
    • 시간 복잡도: 스택을 사용하여 한 번의 반복으로 해결할 수 있어 O(n) 시간 복잡도로 문제를 해결할 수 있습니다.

문제 접근 방법 상세 설명

  1. 스택을 사용한 이유:
    • 스택은 현재의 주식 가격과 이전의 주식 가격을 비교하고, 현재 가격이 이전 가격보다 낮아질 때까지 계속 추적할 수 있습니다.
    • 가격이 떨어지지 않은 기간을 쉽게 계산할 수 있습니다.
  2. 알고리즘:
    • 각 시점에서 가격을 순차적으로 확인합니다.
    • 스택을 사용하여 현재 가격이 이전 가격보다 낮아질 때까지의 기간을 계산합니다.
    • 스택에는 인덱스를 저장하여, 언제 가격이 떨어지는지 쉽게 추적할 수 있습니다.

🤔 어떻게 해결했는지

🤓 무엇을 새롭게 알았는지

 

⏳내일 학습할 것은 무엇인지