์ ์ฒด ๊ธ (24) ์ธ๋ค์ผํ ๋ฆฌ์คํธํ [Java] BitSet BitSet BitSet์ ๋นํธ๋ค๋ก ์ด๋ฃจ์ด์ง ๋ฐฑํฐ์ด๊ณ , ๊ฐ ๋นํธ๋ ์ธ๋ฑ์ค๋ฅผ ํตํด ๊ฐ๋ณ์ ์ผ๋ก ์ ๊ทผํ ์ ์๋ค. ์ด๋ฌํ ์ ์์ boolean ๋ฐฐ์ด๊ณผ ์ ์ฌํ๋ค. ๋์ ์ผ๋ก ํฌ๊ธฐ๋ฅผ ํ์ฅํ ์๋ ์์ผ๋ฉฐ, ํ์์ ๋ฐ๋ผ์ ๋ ๋ง์ ๋นํธ๋ฅผ ์ ์ฅํ๊ธฐ ์ํด ์๋์ผ๋ก ํฌ๊ธฐ๋ฅผ ์กฐ์ ํ๋ค. ์ด๊ธฐ๊ฐ์ false. ๋ฉ์๋๋ค์ ์ฌ๊ธฐ์: https://docs.oracle.com/javase/8/docs/api/java/util/BitSet.html BitSet vs. boolean ๋ฐฐ์ด boolean ๋ฐฐ์ด์ ๊ฐ boolean ๊ฐ์ 1๋นํธ๊ฐ ์๋ 1๋ฐ์ดํธ๋ฅผ ์ฌ์ฉํ๋ค. ์ด๋ ์ปดํจํฐ๊ฐ ๋ค๋ฃฐ ์ ์๋ ์ ๋ณด์ ์ต์ ๋จ์๊ฐ ๋ฐ์ดํธ์ด๊ธฐ ๋๋ฌธ. BitSet ํด๋์ค๋ ๋นํธ ๋จ์์ ์ฐ์ฐ์ ์ง์ํ์ฌ, ๋นํธ ๋ ๋ฒจ์์ ๋น ๋ฅธ ์ฐ์ฐ์ ์ํํ ์ ์๋๋ก ํด์ค๋ค. .. [Java] ๋ฐฑ์ค 2411 - ์์ดํ ๋จน๊ธฐ https://www.acmicpc.net/problem/2411 ํ์ด ์์ดํ ์ ์ฒดํฌํฌ์ธํธ ์ผ์ ๋ฌธ์ ๋ฅผ ์ฌ๋ฌ ์์ ํ๋ ฌ ๊ฒฝ๋ก ๋ฌธ์ ๋ก ๋๋๊ธฐ! ์๋ฅผ ๋ค์ด, ์์ ์ ๋ ฅ 1์ ๊ฒฝ์ฐ์๋ ์๋์ ๊ฐ์ด ๊ตฌ์ญ์ ๋๋ ์ ๊ฐ ๊ตฌ์ญ๋ง๋ค ํ๋ ฌ ๊ฒฝ๋ก ๋ฌธ์ ์ ์ฉ ๊ตฌ์ญ์ ๋๋๋ค๊ณ ํํํ๋๋ฐ ์ฌ์ค ์์ดํ ์ ์ผ์ชฝ ์๋ (1, 1) ์ ๊ฐ๊น์ด ๊ธฐ์ค์ผ๋ก ์ ๋ ฌํ๊ณ ์ฐจ๋ก๋๋ก ๋จน์ผ๋ก ๊ฐ๋ฉด ๋จ ์ถ๊ฐ๋ก, ์์์ (1, 1)๊ณผ ๋์ฐฉ์ (N, M)์๋ ์์ดํ ์ด ์๋ค๊ณ ์๊ฐํ๋ฉด ๊ตฌํ ๋ ํธํจ ์ฝ๋ ๋๋ณด๊ธฐ import java.io.*; import java.util.*; public class Main { public static class Point { public int row, col; public Point(int r, int c) { row.. [Java] ๋ฐฑ์ค 31716 - ํ๋๋ชจ๋น์ค ์์จ ์ฃผํ ํ ์คํ 1 https://www.acmicpc.net/problem/31716 ํ์ด ํ ํธ๋์์ 1์ด → N์ด๋ก ์ด๋ํ๋ ์ต์๊ฑฐ๋ฆฌ๋ BFS ๋๋ฆฌ๋ฉด ๊ธ๋ฐฉ ๋์ค๋๋ฐ ํ ํธ๋์์ ๋ค์ ํธ๋์ผ๋ก ๋์ด๊ฐ๋ ์ด๋ ๊ฑฐ๋ฆฌ๋ฅผ ๊ผผ๊ผผํ๊ฒ ์ฒ๋ฆฌํด์ค์ผ ํ๋ค. ํนํ, ํด๋น ํธ๋ ๋์ฐฉ์ ์ ํ๊ณผ ๋ค์ ํธ๋ ์์์ ์ ํ์ ๋ง์ถฐ์ฃผ๋ ์์ ์ด ํ์ํ๋ค. ์ฝ๋ ๋๋ณด๊ธฐ import java.io.*; import java.util.*; public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringTokenizer st = new S.. [Java] ๋ฐฑ์ค 1707 - ์ด๋ถ ๊ทธ๋ํ https://www.acmicpc.net/problem/1707 ํ์ด ๊ฐ ๋ ธ๋๋ง๋ค 1๊ณผ -1์ ๋ฒ๊ฐ์ ๋งค๊ธฐ๋ฉด์ ๊ทธ๋ํ ํ์ (BFS/DFS): 1์ด ๋ค์ด๊ฐ์ผํ ๋ ธ๋์ ์ด๋ฏธ -1์ด ๋ค์ด๊ฐ์์ผ๋ฉด NO -1์ด ๋ค์ด๊ฐ์ผํ ๋ ธ๋์ ์ด๋ฏธ 1์ด ๋ค์ด๊ฐ์์ผ๋ฉด NO ๋ณ ๋ฌธ์ ์์ด ๊ทธ๋ํ ํ์์ด ๋๋๋ฉด YES ์ฝ๋ ๋๋ณด๊ธฐ import java.io.*; import java.util.*; public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int K = Integer.parseInt(br.readLin.. [Java] ๋ฐฑ์ค 16724 - ํผ๋ฆฌ ๋ถ๋ ์ฌ๋์ด https://www.acmicpc.net/problem/16724 ํ์ด ๋จ์ํ ๊ตฌ์ญ์ ๊ฐ์๋ง ์ถ๋ ฅํ๋ ๋ฌธ์ ๋ผ ์ ๋์จ ํ์ธ๋ ๊ฐ์ ์๊ณ ๋ฆฌ์ฆ ์์ด๋ ํ์ด๊ฐ ๊ฐ๋ฅํ ๊ฒ ๊ฐ๋ค. ํน์ ์นธ์์ ๋ฐฉํฅ ๋ฐ๋ผ ์ด๋ํ๋ฉด์ ๊ตฌ์ญ์ ๋ฒํธ๋ฅผ ๋งค๊ธฐ๋ฉด ๋๋๋ฐ ์ด๋ํ๋ค๊ฐ 1. ์์ง ํ์ธ๋์ง ์์ ์นธ์ ๋์ฐฉ ⇒ ํ์ฌ ๋ฒํธ๋ฅผ ๋งค๊น 2. ํ์ฌ ๋ฒํธ๊ฐ ์ ํ ์นธ์ ๋์ฐฉ ⇒ ์ฌ์ดํด์ด๋๊น ์ด๋ ๊ธ์งํ๊ณ ๋น์ด์๋ ์นธ์์ ์๋ก์ด ๊ตฌ์ญ ๋ฒํธ๋ฅผ ๋งค๊ธฐ๋ฉด์ ์ด๋ ์์ 3. ์ด์ ๋ฒํธ๊ฐ ์ ํ ์นธ์ ๋์ฐฉ ⇒ ๋ ๊ตฌ์ญ์ด ์ฐ๊ฒฐ๋์ผ๋๊น ๊ตฌ์ญ ์นด์ดํธ ํ๋ ์ค์ด๊ณ ๋น์ด์๋ ์นธ์์ ์๋ก์ด ๋ฒํธ๋ฅผ ๋งค๊ธฐ๋ฉด์ ์ด๋ ์์ ์ฝ๋ ๋๋ณด๊ธฐ import java.io.*; import java.util.*; public class Main { public static void ma.. [Java] ๋ฐฑ์ค 7579 - ์ฑ https://www.acmicpc.net/problem/7579 ํ์ด ์ผํ ๋ด๋ ๋ฐฐ๋ญ ๋ฌธ์ ๋ฅผ ๋ง์ด ๋ฎ์ ์๋ค dp[i][w] = ์ต๋ ๋ฌด๊ฒ๊ฐ w์ธ ๋ฐฐ๋ญ์์ i๋ฒ์งธ ๋ฌผ๊ฑด๊น์ง ํ๋จํ์ ๋์ ์ต๋ ๊ฐ์น dp[i][m] = ์ต๋ ๋ฉ๋ชจ๋ฆฌ๊ฐ m์ธ ์ํ์์ i๋ฒ์งธ ์ฑ๊น์ง ํ๋จํ์ ๋์ ์ต๋ ๋น์ฉ ํ์ง๋ง ์ด๋ ๊ฒ ํ๊ธฐ์๋ m์ด ์ต๋ 10,000,000๊น์ง ์ปค์ ธ์ ์๋จ ๋์ ๊ธฐ์ค์ ์ ๋ฉ๋ชจ๋ฆฌ๊ฐ ์๋ ๋น์ฉ์ผ๋ก ์ก์ผ๋ฉด dp[i][c] = ์ต๋ ๋น์ฉ์ด c์ธ ์ํ์์ i๋ฒ์งธ ์ฑ๊น์ง ํ๋จํ์ ๋์ ์ต๋ ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋ ์ฌ๊ธฐ์ c๋ ์ต๋ 100×100 ์์ ์์ ์ด์ฉํด์ ์ฐ๋ฆฌ ์ํ๋ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ด๊ณผํ๋ ๋น์ฉ์ ์ต์๋ฅผ ๊ตฌํ๋ฉด ๋! ์ฝ๋ ๋๋ณด๊ธฐ import java.io.*; import java.util.*; public class Ma.. [Java] ๋ฐฑ์ค 21276 - ๊ณ๋ณด ๋ณต์๊ฐ ํธ์ https://www.acmicpc.net/problem/21276 ํ์ด ์กฐ์-์์ ๊ด๊ณ๋ฅผ ์ด์ฉํด์ ์์ ์ ๋ ฌ ๋ถ๋ชจ-์์ ๊ด๊ณ๋ฅผ ์ถ๋ ฅํ๋ ๊ฑด ์ ์ฒด ์ถ๋ ฅ์์ ์์์ ์ด๋ฆ์ด ํ ๋ฒ๋ง ๋ฑ์ฅํ๋ค๋ ์ ์ ์ด์ฉํ ์ ์์. ๊ฐ์ฅ ๋ฐ์์ ๋ถํฐ ์๋ก ์ฌ๋ผ๊ฐ๋ฉด์ ์์๋ค์ ์ถ๋ ฅํ๋๋ฐ ์ด๋ฏธ ๋์จ ์ด๋ฆ์ ์ถ๋ ฅํ์ง ์๋๋ก ํ๋ฉด ๋จ. ๋ฌธ์์ด ์ฒ๋ฆฌ๋ฅผ ์ํด HashMap ์ฌ์ฉ ์ฝ๋ ๋๋ณด๊ธฐ import java.io.*; import java.util.*; public class Main { public static class Person { public String name; public int indegree, outdegree; public ArrayList ancestors; public ArrayList descendants.. [Java] ๋ฐฑ์ค 31577 - ๋์ฌ์จ์ด์ ๋นํธ์ฝ์ธ https://www.acmicpc.net/problem/31577 ํ์ด 15*8 = 20*6 ์ฆ, ๋ชจ๋ ์ข ๋ฅ์ ํ์ผ์ ๊ฐ๊ฐ 6๊ฐ์ฉ ์ ์ฅํ๋ ๊ฒ ๊ฐ๋ฅ ๊ฐ์ฅ ๊ฐ๋จํ ๊ตฌํ ๋ฐฉ๋ฒ 120์นธ ์ง๋ฆฌ ๋ฐฐ์ด์ 1, 2, … , 19, 20 ์ 6๋ฒ ์ ์ฅํ๊ณ ํด๋น ๋ฐฐ์ด์ 15๊ฐ๋ก ๋๋๋ฉด ๋๋ค (๊ฐ ๋ฐฐ์ด ์ ๋ ฌ๋ ์์ง ๋ง๊ณ ํ๊ธฐ!) ์ฝ๋ ๋๋ณด๊ธฐ ๋๋ณด๊ธฐ import java.io.*; import java.util.*; public class Main { public static void main(String[] args) throws IOException { StringBuilder sb = new StringBuilder(); int[] arr = new int[8]; for (int i = 0; i < 120; i++).. ์ด์ 1 2 3 ๋ค์