diff --git "a/lkhyun/202502/03 BOJ \352\263\250\353\223\2344 \353\260\251\354\202\254\355\230\225 \352\267\270\353\236\230\355\224\204 \354\235\264\352\260\225\355\230\204.md" "b/lkhyun/202502/03 BOJ \352\263\250\353\223\2344 \353\260\251\354\202\254\355\230\225 \352\267\270\353\236\230\355\224\204.md" similarity index 100% rename from "lkhyun/202502/03 BOJ \352\263\250\353\223\2344 \353\260\251\354\202\254\355\230\225 \352\267\270\353\236\230\355\224\204 \354\235\264\352\260\225\355\230\204.md" rename to "lkhyun/202502/03 BOJ \352\263\250\353\223\2344 \353\260\251\354\202\254\355\230\225 \352\267\270\353\236\230\355\224\204.md" diff --git "a/lkhyun/202502/03 BOJ \352\263\250\353\223\2345 \353\252\250\353\205\270\355\206\244\352\270\270.md" "b/lkhyun/202502/03 BOJ \352\263\250\353\223\2345 \353\252\250\353\205\270\355\206\244\352\270\270.md" new file mode 100644 index 00000000..95b5153c --- /dev/null +++ "b/lkhyun/202502/03 BOJ \352\263\250\353\223\2345 \353\252\250\353\205\270\355\206\244\352\270\270.md" @@ -0,0 +1,70 @@ +```java +import java.io.BufferedReader; +import java.io.BufferedWriter; +import java.io.InputStreamReader; +import java.io.OutputStreamWriter; +import java.util.*; + +class Point{ + int x; + int y; + Point(int x, int y){ + this.x = x; + this.y = y; + } +} +public class Main { + static BufferedReader br; + static BufferedWriter bw; + public static void main(String[] args) throws Exception { + br = new BufferedReader(new InputStreamReader(System.in)); + bw = new BufferedWriter(new OutputStreamWriter(System.out)); + int T = Integer.parseInt(br.readLine()); + for(int t=1;t<=T;t++){ + int N = Integer.parseInt(br.readLine()); + Map> cafes = new TreeMap<>(); + for(int n = 0;n cafe = cafes.getOrDefault(key,new PriorityQueue<>()); + cafe.offer(value); + cafes.put(key,cafe); + } + StringTokenizer st = new StringTokenizer(br.readLine()); + int M = Integer.parseInt(st.nextToken()); + Map cafenumbers = new HashMap<>(); + int prev = 0; + int currentnumber = 0; + for(Integer i : cafes.keySet()){ + PriorityQueue cafe = cafes.get(i); + if(cafe.peek() == prev){ + int j = 1; + int temp = cafe.size(); + while(!cafe.isEmpty()){ + if(cafe.size()==1){prev = cafe.peek();} + cafenumbers.put(currentnumber+j,new Point(i,cafe.poll())); + j++; + } + currentnumber += temp; + } + else{ + int j = cafe.size(); + int temp = cafe.size(); + prev = cafe.peek(); + while(!cafe.isEmpty()){ + cafenumbers.put(currentnumber+j,new Point(i,cafe.poll())); + j--; + } + currentnumber += temp; + } + } + for(int m=0;m