2252번: 줄 세우기 첫째 줄에 N(1 ≤ N ≤ 32,000), M(1 ≤ M ≤ 100,000)이 주어진다. M은 키를 비교한 회수이다. 다음 M개의 줄에는 키를 비교한 두 학생의 번호 A, B가 주어진다. 이는 학생 A가 학생 B의 앞에 서야 한다는 의 www.acmicpc.net 문제코드 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.*; public class boj2252 { public void solution() throws IOException { BufferedReader reader = new BufferedReader(new Inpu..
5904번: Moo 게임 Moo는 술자리에서 즐겁게 할 수 있는 게임이다. 이 게임은 Moo수열을 각 사람이 하나씩 순서대로 외치면 되는 게임이다. Moo 수열은 길이가 무한대이며, 다음과 같이 생겼다. m o o m o o o m o o m o o o www.acmicpc.net 문제를 푸는데 있어서 핵심은, 1. 전체 수열을 구하려고 하지 않는다. 2. 필요한 위치를 상대적으로 찾는다. 두가지 상황을 염두에 두고 풀어야 합니다. 수열은 기본적으로 사이즈가 무한이고, 적당한 길이라고 하더라도 문자열로 표현하기 힘들 수 있습니다. 반면 그 크기는 규칙적이고, 좌우 대칭적인 부분도 있어서, 주어진 N이 패턴의 어느정도 위치에 있는지를 판단하는 방향으로 나아가야 합니다. 문제 코드 import java.io..
1417번: 국회의원 선거 첫째 줄에 후보의 수 N이 주어진다. 둘째 줄부터 차례대로 기호 1번을 찍으려고 하는 사람의 수, 기호 2번을 찍으려고 하는 수, 이렇게 총 N개의 줄에 걸쳐 입력이 들어온다. N은 50보다 작거나 같 www.acmicpc.net 기본적으로 과반수가 아닌, 가장 많은 득표를 얻어야 하는 조건이므로, 가장 많은 득표를 올린 사람의 표를 하나씩 자신의 득표로 옮기는 과정을 통해 쉽게 풀어낼 수 있습니다. 문제 코드 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Collections; import java.util.PriorityQue..
2738번: 행렬 덧셈 첫째 줄에 행렬의 크기 N 과 M이 주어진다. 둘째 줄부터 N개의 줄에 행렬 A의 원소 M개가 차례대로 주어진다. 이어서 N개의 줄에 행렬 B의 원소 M개가 차례대로 주어진다. N과 M은 100보다 작거나 같 www.acmicpc.net 문제코드 import java.util.Scanner; public class boj2738 { public static void main(String[] args) { // 행렬의 크기 N, M이 주어진다. Scanner sc = new Scanner(System.in); int n = sc.nextInt(); int m = sc.nextInt(); // 둘째줄부터 N개의 줄에 행렬 A의 원소 M개가 차례대로 주어진다. int[][] arr1 =..
11000번: 강의실 배정 첫 번째 줄에 N이 주어진다. (1 ≤ N ≤ 200,000) 이후 N개의 줄에 Si, Ti가 주어진다. (0 ≤ Si < Ti ≤ 109) www.acmicpc.net 문제 코드 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Comparator; import java.util.PriorityQueue; import java.util.StringTokenizer; public class boj11000 { public int solution() throws IOException { BufferedReader reader = new..
7662번: 이중 우선순위 큐 입력 데이터는 표준입력을 사용한다. 입력은 T개의 테스트 데이터로 구성된다. 입력의 첫 번째 줄에는 입력 데이터의 수를 나타내는 정수 T가 주어진다. 각 테스트 데이터의 첫째 줄에는 Q에 적 www.acmicpc.net 💡 최대 힙과 최소 힙을 동시에 사용해서 푸는 문제입니다. 양쪽 힙에 동시에 데이터를 입력하되, 총 입력되었던 원소들을 기억하여 만약 이미 제거된 원소를 만난다면 추가로 제거 작업을 하는 방향으로 풀어야합니다. 문제 코드 package backjoon; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.*; pub..