Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
38 changes: 38 additions & 0 deletions 0510/BOJ/P1764/P1764_kim.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@


import java.util.Collections;
import java.util.HashMap;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
import java.util.Scanner;

public class P1764_kim {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
StringBuilder sb = new StringBuilder();
int n = sc.nextInt(); // 들어 보지 못한 사람 수
int m = sc.nextInt(); // 보지 못한 사람 수
Map<String, Integer> map = new HashMap<>();
for(int i = 0; i < n; i++) { // 들어보지 못한 사람들을 map에 넣는다.
map.put(sc.next(), i);
}
int count = 0;
List<String> list = new LinkedList<>();
for(int i = 0; i <m; i++) {
String name = sc.next();
if(map.get(name)!=null) { // map에 보지 못한 사람의 이름이 있으면 count증가, list에 저장한다.
count++;
list.add(name);
}
}
Collections.sort(list); // 사전순으로 정렬
sb.append(count).append("\n");
for(int i = 0; i < list.size(); i++) {
sb.append(list.get(i)).append("\n");
}
System.out.println(sb.toString());

}

}
55 changes: 55 additions & 0 deletions 0510/BOJ/P1780/P1780_kim.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.HashMap;
import java.util.Map;
import java.util.StringTokenizer;

public class P1780_kim {
static int[][] arr;
static int minusone, zero, one;
static Map<Integer, Integer> map;

public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int n = Integer.parseInt(br.readLine());
arr = new int[n][n];
for (int i = 0; i < arr.length; i++) {
StringTokenizer st = new StringTokenizer(br.readLine());
for (int j = 0; j < arr.length; j++) {
arr[i][j] = Integer.parseInt(st.nextToken());
}
} // 종이 입력 완료!

map = new HashMap<>(); // -1,0,1일때의 종이의 개수 파악하기 위해 map으로 만듦
map.put(-1, 0);
map.put(0, 0);
map.put(1, 0);

check(0, 0, arr.length);
System.out.println(map.get(-1)+"\n"+map.get(0)+"\n"+map.get(1));
}

private static void check(int r, int c, int length) {
int n = arr[r][c]; // 처음 시작위치 값 저장
boolean flag = true;
out:for (int i = r; i < r+length; i++) {
for (int j = c; j < c+length; j++) {
if (arr[i][j] != n) { // 같지 않다면 flag=false
flag = false;
break out;
}
}
}
if (flag) {
map.replace(n, map.get(n)+1); // 종이의 숫자가 다 같으면 그 숫자를 키로 value 가져와서 +1
} else {
for (int i = r; i <r +length; i += (length / 3)) {
for (int j = c; j < c+length; j += (length / 3)) {
check(i, j, length / 3);
}
}
}
}
}
28 changes: 28 additions & 0 deletions 0510/BOJ/P1927/P1927_kim.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@


import java.util.PriorityQueue;
import java.util.Scanner;

public class P1927_kim {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
PriorityQueue<Integer> pq = new PriorityQueue<>();
StringBuilder sb = new StringBuilder();
for(int i = 0; i < n; i++) {
int num = sc.nextInt();
if(num == 0) {
if(pq.isEmpty()) {
sb.append(0).append("\n");
}else {
sb.append(pq.poll()).append("\n");
}
}else {
pq.add(num);
}
}
System.out.println(sb.toString());

}

}