uploaded at 2023. 1. 2. 오전 3:44:15
This commit is contained in:
@@ -0,0 +1,28 @@
|
||||
// [문제 링크]: https://school.programmers.co.kr/learn/courses/30/lessons/131130
|
||||
|
||||
import java.util.*;
|
||||
import java.util.stream.*;
|
||||
class Solution {
|
||||
public int solution(int[] cards) {
|
||||
int answer = 0, first = 0, temp = 0;
|
||||
HashMap<Integer,Boolean> hm = new HashMap<>();
|
||||
PriorityQueue<Integer> pq = new PriorityQueue<>((a,b) -> b - a), ar = new PriorityQueue<>(Arrays.stream(cards).boxed().collect(Collectors.toList()));
|
||||
while(ar.size()>0){
|
||||
int fc = 0;
|
||||
if(!hm.getOrDefault(ar.peek(),false)) {
|
||||
temp = ar.peek();
|
||||
while(ar.size()>0){
|
||||
if(!hm.getOrDefault(temp,false)) {
|
||||
hm.put(temp,true);
|
||||
ar.remove(temp);
|
||||
fc++;
|
||||
}
|
||||
else break;
|
||||
temp = cards[temp-1];
|
||||
}
|
||||
pq.add(fc);
|
||||
} else break;
|
||||
}
|
||||
return (pq.size()<2)?0:pq.poll()*pq.poll();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user