- Today
- Total
- java
- PS
- ๋ค์ต์คํธ๋ผ
- tree
- ๊ทธ๋ฆฌ๋
- ์๋ฐ
- ์ธํด
- CS
- ์์์ ๋ ฌ
- ์๋ฃ๊ตฌ์กฐ
- ์๋ฐ์์ ์
- BFS
- ๋ฌธ๋ฒ
- ๋ฐฑ์๋
- MST
- dp
- ๋ฐ์ดํฐ๋ฒ ์ด์ค
- pytorch
- ํ๋ก๊ทธ๋๋จธ์ค
- Algorithm
- spring
- ๋ฐฑ์ค
- database
- OOP
- array
- leetcode
- ๋ฒจ๋งํฌ๋
- Graph
- ์กธ์ ์ํ
- ๊ตฌํ
Partially Committed
[์ฐ์ ์์ํ] ํ๋ฆฐํฐ (์๋ฐ) ๋ณธ๋ฌธ
๋ฌธ์์ ์ฐ์ ์์(์ค์๋)๊ฐ ๋ด๊ธด priorities ๋ฐฐ์ด๊ณผ, ํน์ ๋ฌธ์์ ์์น location ์ด ์ฃผ์ด์ง๋ค. ์ด๋ location ์ ์์นํ ๋ฌธ์๋ ์ค์ ๋ก ๋ช ๋ฒ์งธ๋ก ์ถ๋ ฅ์ด ๋๋์ง answer ์ ๋ฐํํด์ฃผ๋ฉด ๋๋ค. ์ด๋ฅผ ์ํด ์ฐ์ ์์ํ๋ฅผ ์ฌ์ฉํ๋ค. ์ซ์๊ฐ ๋์ ์๋ก ์ค์๋๊ฐ ๋๋ค๊ณ ๋ฌธ์ ์์ ์ ์ํ์์ผ๋ฏ๋ก, PriorityQueue ์ Collections.reverseOrder() ์ ์ ๋ฌํ์ฌ ์ค์๋๊ฐ ๋์ ์์๋๋ก poll ์ด ๋ ์ ์๋๋ก ํ๋ค.
๊ทธ๋ฆฌ๊ณ priorities ๋ฐฐ์ด์ ์ํํ๋ฉฐ, ํ์ฌ ์ฐ์ ์์ ํ์ ์ ์ฅ๋ ๊ฐ์ฅ ๋์ ์ค์๋ == priorities[i] ๋ผ๋ฉด ํด๋น ์์น(i) ๊ฐ location ์ธ์ง ํ์ธํ๊ณ ๋ง๋ค๋ฉด answer ์ ๋ฐํํ๋ค. ํด๋น ์์น(i) ๊ฐ location ์ด ์๋๋ผ๋ฉด answer ์ ํ๋ ์ฆ๊ฐ์์ผ์ฃผ๊ณ pop/poll ํด์ค๋ค. location ์ ์์นํ ๋ฌธ์์๋ง ๊ด์ฌ์ด ์๊ธฐ ๋๋ฌธ์ด๋ค.
import java.io.IOException;
import java.util.Collections;
import java.util.PriorityQueue;
class Solution {
public int solution(int[] priorities, int location) throws IOException {
int answer = 1;
PriorityQueue<Integer> pq = new PriorityQueue<>(Collections.reverseOrder());
for(int ele : priorities)
pq.add(ele);
while(!pq.isEmpty()){
for(int i = 0 ; i < priorities.length; i++){
if(pq.peek() == priorities[i]){
if(i == location) return answer;
else {
answer++;
pq.poll();
}
}
}
}
return answer;
}
}
'๐ฅ Algorithm || ๋ฌธ์ ํ์ด > PS' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[CH01] ํฌํฌ์ธํฐ (0) | 2022.09.12 |
---|---|
[CH01] ๊ตฌ๊ฐํฉ (0) | 2022.09.09 |
[ํ] ๊ธฐ๋ฅ๊ฐ๋ฐ (JAVA) (0) | 2022.09.03 |
[์คํ/ํ] ์ฌ๋ฐ๋ฅธ ๊ดํธ (JAVA) (0) | 2022.09.03 |
[๋ฐฐ์ด] ๊ฐ์ ์ซ์๋ ์ซ์ด (JAVA) (0) | 2022.09.02 |