Algorithm/Study

[99클럽 코테 스터디] 📝 Day3. 바쁜 일상속 노력

ioh'sDeveloper 2024. 5. 23. 22:34
99클럽 코테 스터디 3일차 TIL + 스택/큐


📍오늘의 학습 키워드

스택/큐

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

주요 개념!

큐(Queue)는 컴퓨터 과학에서 사용하는 자료 구조 중 하나로, 먼저 들어온 데이터가 먼저 나가는 FIFO(First In First Out) 원칙을 따릅니다. 큐는 일상생활에서 줄을 서서 차례를 기다리는 상황을 생각하면 이해하기 쉽습니다. 예를 들어, 사람들은 줄의 맨 앞에서 차례를 기다리며, 새로 온 사람들은 줄의 맨 뒤에 서게 됩니다.

📖 오늘의 회고

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

큐를 사용하여 풀이를 하는게 보여서 어려움은 없었지만 내가 어떻게 문제를 접근했는지 간단하게 작성해봤다.

 

이 문제는 트럭들이 다리를 건너는 과정을 특정 조건을 만족하면서 최소 시간을 계산해야 합니다.

문제 접근 방법(키워드)

  1. 큐(Queue): FIFO(First In First Out) 방식의 자료 구조로, 트럭들이 다리를 건너는 순서를 관리하는 데 유용합니다.
  2. 무게 제한(Weight Limit): 다리가 견딜 수 있는 최대 무게를 초과하지 않도록 관리해야 합니다.
  3. 다리 길이(Bridge Length): 다리 위에 동시에 올라갈 수 있는 트럭의 최대 수를 제한합니다.
  1. 큐를 이용한 다리 상태 관리:
    • 다리를 건너는 트럭들을 큐에 저장하여, 트럭이 다리를 건너고 나가는 순서를 관리합니다.
    • 큐의 크기는 다리의 길이(bridge_length)와 동일하게 유지합니다.
    • 트럭이 다리로 들어올 때는 현재 다리 위의 트럭들의 무게 합을 계산하여 무게 제한을 초과하지 않도록 합니다.
  1. 상태 업데이트:
    • 각 시간 단위마다 큐에서 트럭을 빼내고, 새로운 트럭을 큐에 추가합니다.
    • 다리 위의 트럭들의 총 무게를 갱신합니다.

🤔 어떻게 해결했는지

  • 블로그 글 참고! (링크 : https://develop-tracking.tistory.com/51)
  • 트럭 문제에 큐를 사용하는 이유는 다음내용이다.
    1. 트럭 진입 관리: 트럭이 다리에 진입할 때 큐의 뒤쪽에 추가합니다.
    2. 트럭 진행 관리: 트럭이 다리를 건널 때 매 시간마다 큐의 앞쪽에서 제거합니다.
    3. 무게 관리: 다리 위의 트럭의 총 무게를 추적하여 새로운 트럭이 다리에 진입할 수 있는지 확인합니다.
  • 트럭이 다리를 건너는 문제에서는 각 트럭이 다리를 건너는 순서를 관리해야 합니다. 이때, 큐를 사용하면 트럭이 다리로 진입하고 나가는 순서를 쉽게 관리할 수 있습니다.

🤓 무엇을 새롭게 알았는지

 

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

회사 때문에...... 당일 문제를 풀지못하였다 너무 바쁘군,,