【스터디노트】/▷TIL

코테 스터디 50일차 TIL + 오늘의 학습 키워드 stack 3

아딜렛 2025. 7. 9. 14:16


- 오늘의 학습 키워드

car fleet
- 공부한 내용 본인의 언어로 정리하기

 

도착시간 계산: 각 차가 혼자 달릴때 목적지까지 걸리는 시간

위치 기준 정렬: 목적지에 가까운 차부터 처리

Fleet 카운팅 뒤차가 앞차보다 늦게 도착하면 새로운 fleet

 

수도 코드

1. 각 차의 도착 시간 계싼: (target-position)/speed
2. 차들을 위치 기준으로 오름차순 장렬 (목적지에서 먼거리순)-> 에러난다. 내림차순으로 정렬해야함
3. 정렬된 순서대로 순회
  - 현재 차의 도착시간이 이전차의 도착시간보다 작으면 새 fleet이 만들어진다.


- 오늘의 회고
  - 어떤 문제가 있었고, 나는 어떤 시도를 했는지

 

차들을 위치 기준으로 오름차순 가까운 차부터 정렬->

 

내림차순으로 만들면 에러나서 오름차순으로 변경해줬음

 

stack에 어떤 순서로 넣어야하는지 앞차를 따라잡으면 어떻게 해야하는지 ,

stack.peek이 앞차인 이유를 모르겠음

 

현재차가 스택의 top보다 늦게 도착하면 fleet을 형성

현재차가 스택의 top 보다 빨리 도착하면 앞차를 따라 잡아서 같은 fleet이 된다. push는 안씀

 

 fleet의 도착시간을 저장하는 스택을 생성하여 같은 속도로 들어오는

차들의 시간을 저장한다.

 


  - 어떻게 해결했는지

 

목적지에서 먼 순서대로 처리

0번차 처리 -> 스택에 push

1번차 처리 -> 0번차가 이미 있음

4번차 처리-> 1번 차가 스택 top에 있음

현재 차가 앞차보다 빨리 도착한다 -> 앞차를 추월한다.

앞차를 추월하면 하나의 fleet이 된다.

앞차는 독립 fleet이 아니므로 스택에서 제거한다.

 

 

목적지에서 가까운 차부터 정렬

앞차를 기준으로 뒤차들을 판단
  - 무엇을 새롭게 알았는지

 

2차원 정렬을 통해서 cars[i][0]에는 위치 저장

cars[i][1]에는 속도를 저장할수 있다.


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