Notice
Recent Posts
Recent Comments
Link
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | ||||
| 4 | 5 | 6 | 7 | 8 | 9 | 10 |
| 11 | 12 | 13 | 14 | 15 | 16 | 17 |
| 18 | 19 | 20 | 21 | 22 | 23 | 24 |
| 25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 데비안
- network configuration
- 코드로배우는스프링웹프로젝트
- 서버설정
- 구멍가게코딩단
- 이터레이터
- 스프링부트핵심가이드
- baeldung
- ㅒ
- 자바편
- 코드로배우는스프링부트웹프로젝트
- resttemplate
- 페이징
- /etc/network/interfaces
- 처음 만나는 AI수학 with Python
- 목록처리
- 알파회계
- 티스토리 쿠키 삭제
- 네트워크 설정
- 자료구조와 함께 배우는 알고리즘 입문
- 선형대수
- Kernighan의 C언어 프로그래밍
- 스프링 시큐리티
- 처음 만나는 AI 수학 with Python
- 리눅스
- 자료구조와함께배우는알고리즘입문
- d
- 친절한SQL튜닝
- iterator
- GIT
Archives
- Today
- Total
bright jazz music
프로세스 본문
function solution(priorities, location) {
// 인덱스를 함께 저장 (어떤 프로세스인지 추적)
let queue = priorities.map((priority, index) => ({
priority,
index
}));
let executionOrder = 0;
while (queue.length > 0) {
const current = queue.shift(); // 큐에서 하나 꺼냄
// 큐에 현재보다 높은 우선순위가 있는지 확인
if (queue.some(item => item.priority > current.priority)) {
// 있으면 다시 뒤로 보냄
queue.push(current);
} else {
// 없으면 실행
executionOrder++;
// 찾던 프로세스면 반환
if (current.index === location) {
return executionOrder;
}
}
}
}
```
## 왜 당신 코드가 틀렸나
테스트 2를 보면:
- `[1, 1, 9, 1, 1, 1]`, location=0
- 당신 코드는 0번 프로세스(우선순위 1)보다 큰 게 1개(9)니까 answer=2 반환
- 실제로는: 9가 먼저 실행되고, 그 다음 나머지 1들이 순서대로 실행되므로 0번은 **5번째**
큐 동작을 무시하고 단순 카운팅만 했기 때문입니다.
## 동작 과정 (테스트 2)
```
초기: [(1,0), (1,1), (9,2), (1,3), (1,4), (1,5)]
1. (1,0) 꺼냄 → 9가 더 크니 뒤로: [(1,1), (9,2), (1,3), (1,4), (1,5), (1,0)]
2. (1,1) 꺼냄 → 9가 더 크니 뒤로: [(9,2), (1,3), (1,4), (1,5), (1,0), (1,1)]
3. (9,2) 꺼냄 → 최고 우선순위 → 실행! (1번째)
4. (1,3) 꺼냄 → 다 같으니 → 실행! (2번째)
5. (1,4) 꺼냄 → 실행! (3번째)
6. (1,5) 꺼냄 → 실행! (4번째)
7. (1,0) 꺼냄 → 실행! (5번째) ← location=0 찾음!
Comments
