[BJ] 11650. 좌표 정렬하기 www.acmicpc.net/problem/11650 11650번: 좌표 정렬하기 첫째 줄에 점의 개수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N개의 줄에는 i번점의 위치 xi와 yi가 주어진다. (-100,000 ≤ xi, yi ≤ 100,000) 좌표는 항상 정수이고, 위치가 같은 두 점은 없다. www.acmicpc.net import java.io.*; import java.util.*; // 210212 public class Main_BJ_11650_좌표정렬하기 { static int N; static int[][] arr; public static void main(String[] args) { Scanner sc = new Scann..
[BJ] 1436. 영화감독 숌 www.acmicpc.net/problem/1436 1436번: 영화감독 숌 666은 종말을 나타내는 숫자라고 한다. 따라서, 많은 블록버스터 영화에서는 666이 들어간 제목을 많이 사용한다. 영화감독 숌은 세상의 종말 이라는 시리즈 영화의 감독이다. 조지 루카스는 스타 www.acmicpc.net import java.io.*; import java.util.*; // 210211 public class Main_BJ_1436_영화감독숌 { static int N; static int[] numbers; static int pos; static boolean[] isSelected; static HashSet hashList = new HashSet(); static v..
[BJ] 1018. 체스판 다시 칠하기 www.acmicpc.net/problem/1018 1018번: 체스판 다시 칠하기 첫째 줄에 N과 M이 주어진다. N과 M은 8보다 크거나 같고, 50보다 작거나 같은 자연수이다. 둘째 줄부터 N개의 줄에는 보드의 각 행의 상태가 주어진다. B는 검은색이며, W는 흰색이다. www.acmicpc.net import java.io.*; import java.util.*; // 210211 public class Main_BJ_1018_체스판다시칠하기 { static int N, M; static char[][] map; static int min; static char[][] chess1 = { {'W', 'B', 'W', 'B', 'W', 'B', 'W', 'B'..
[BJ] 7568. 덩치 www.acmicpc.net/problem/7568 7568번: 덩치 우리는 사람의 덩치를 키와 몸무게, 이 두 개의 값으로 표현하여 그 등수를 매겨보려고 한다. 어떤 사람의 몸무게가 x kg이고 키가 y cm라면 이 사람의 덩치는 (x, y)로 표시된다. 두 사람 A 와 B의 덩 www.acmicpc.net import java.io.*; import java.util.*; // 210211 public class Main_BJ_7568_덩치 { static int N; static int[][] arr; static int[] rank; static boolean[] isSelected; static int[] numbers; static void permutation(int..
[BJ] 2231. 분해합 www.acmicpc.net/problem/2231 2231번: 분해합 어떤 자연수 N이 있을 때, 그 자연수 N의 분해합은 N과 N을 이루는 각 자리수의 합을 의미한다. 어떤 자연수 M의 분해합이 N인 경우, M을 N의 생성자라 한다. 예를 들어, 245의 분해합은 256(=245+2+4+5)이 www.acmicpc.net import java.io.*; import java.util.*; // 210211 public class Main_BJ_2231_분해합 { static int N; static int func(int num) { String str = Integer.toString(num); int res = 0; for(int i=0; i
[BJ] 2798. 블랙잭 www.acmicpc.net/problem/2798 2798번: 블랙잭 첫째 줄에 카드의 개수 N(3 ≤ N ≤ 100)과 M(10 ≤ M ≤ 300,000)이 주어진다. 둘째 줄에는 카드에 쓰여 있는 수가 주어지며, 이 값은 100,000을 넘지 않는 양의 정수이다. 합이 M을 넘지 않는 카드 3장 www.acmicpc.net import java.io.*; import java.util.*; // 210211 public class Main_BJ_2798_블랙잭 { static int N, M; static int[] arr; static int max = 0; static boolean[] isSelected; static void permutation(int cnt, i..
[BJ] 11729. 하노이 탑 이동 순서 www.acmicpc.net/problem/11729 11729번: 하노이 탑 이동 순서 세 개의 장대가 있고 첫 번째 장대에는 반경이 서로 다른 n개의 원판이 쌓여 있다. 각 원판은 반경이 큰 순서대로 쌓여있다. 이제 수도승들이 다음 규칙에 따라 첫 번째 장대에서 세 번째 장대로 www.acmicpc.net import java.io.*; import java.util.*; // 210211 public class Main_BJ_11729_하노이탑이동순서 { static StringBuilder sb; static void hanoi(int n, int from, int to, int temp) { if (n == 0) { return; } hanoi(n-1,..
[BJ] 10870. 피보나치 수 5 www.acmicpc.net/problem/10870 10870번: 피보나치 수 5 피보나치 수는 0과 1로 시작한다. 0번째 피보나치 수는 0이고, 1번째 피보나치 수는 1이다. 그 다음 2번째 부터는 바로 앞 두 피보나치 수의 합이 된다. 이를 식으로 써보면 Fn = Fn-1 + Fn-2 (n ≥ 2)가 www.acmicpc.net import java.io.*; import java.util.*; // 210211 public class Main_BJ_10870_피보나치수5 { static int fibo(int num) { if (num