15649๋ฒ: N๊ณผ M (1) ํ ์ค์ ํ๋์ฉ ๋ฌธ์ ์ ์กฐ๊ฑด์ ๋ง์กฑํ๋ ์์ด์ ์ถ๋ ฅํ๋ค. ์ค๋ณต๋๋ ์์ด์ ์ฌ๋ฌ ๋ฒ ์ถ๋ ฅํ๋ฉด ์๋๋ฉฐ, ๊ฐ ์์ด์ ๊ณต๋ฐฑ์ผ๋ก ๊ตฌ๋ถํด์ ์ถ๋ ฅํด์ผ ํ๋ค. ์์ด์ ์ฌ์ ์์ผ๋ก ์ฆ๊ฐํ๋ ์์๋ก ์ถ๋ ฅํด www.acmicpc.net ๐ ๋ฌธ์ ์์ฐ์ N๊ณผ M์ด ์ฃผ์ด์ก์ ๋, ์๋ ์กฐ๊ฑด์ ๋ง์กฑํ๋ ๊ธธ์ด๊ฐ M์ธ ์์ด์ ๋ชจ๋ ๊ตฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค. 1๋ถํฐ N๊น์ง ์์ฐ์ ์ค์์ ์ค๋ณต ์์ด M๊ฐ๋ฅผ ๊ณ ๋ฅธ ์์ด ๐ ์
๋ ฅ ์ฒซ์งธ ์ค์ ์์ฐ์ N๊ณผ M์ด ์ฃผ์ด์ง๋ค. (1 ≤ M ≤ N ≤ 8) ๐ ์ถ๋ ฅ ํ ์ค์ ํ๋์ฉ ๋ฌธ์ ์ ์กฐ๊ฑด์ ๋ง์กฑํ๋ ์์ด์ ์ถ๋ ฅํ๋ค. ์ค๋ณต๋๋ ์์ด์ ์ฌ๋ฌ ๋ฒ ์ถ๋ ฅํ๋ฉด ์๋๋ฉฐ, ๊ฐ ์์ด์ ๊ณต๋ฐฑ์ผ๋ก ๊ตฌ๋ถํด์ ์ถ๋ ฅํด์ผ ํ๋ค. ์์ด์ ์ฌ์ ์์ผ๋ก ์ฆ๊ฐํ๋ ์์๋ก ์ถ๋ ฅํด์ผ ํ๋ค. ๐ ์์ ..
PS/BaekJoon
๐ฑ ๋ฌธ์ 1260๋ฒ: DFS์ BFS ์ฒซ์งธ ์ค์ ์ ์ ์ ๊ฐ์ N(1 ≤ N ≤ 1,000), ๊ฐ์ ์ ๊ฐ์ M(1 ≤ M ≤ 10,000), ํ์์ ์์ํ ์ ์ ์ ๋ฒํธ V๊ฐ ์ฃผ์ด์ง๋ค. ๋ค์ M๊ฐ์ ์ค์๋ ๊ฐ์ ์ด ์ฐ๊ฒฐํ๋ ๋ ์ ์ ์ ๋ฒํธ๊ฐ ์ฃผ์ด์ง๋ค. ์ด๋ค ๋ ์ ์ ์ฌ www.acmicpc.net ๐ฑ ํด๊ฒฐ๊ณผ์ 1. DFS ์ BFS์ ๊ฐ๋
์ ๊ณต๋ถํ ์ดํ 2. ๊ทธ์ ๋ง๋ ์ฝ๋๋ฅผ ์์ฑํ๋ค. ๐ฑ DFS (๊น์ด ์ฐ์ ํ์) ์ฌ๊ท๋ฅผ ํ๊ธฐ ๋๋ฌธ์ BFS ๋ณด๋ค ๋๋ฆฐ ๊ฒ์ด ํน์ง BFS์ ๋ฌ๋ฆฌ ์ด๋ค ๋
ธ๋๋ฅผ ๋ฐฉ๋ฌธํ๋์ง ์ฌ๋ถ๋ฅผ ๋ฐ๋์ ๊ฒ์ฌ ์๊ฐ ๋ณต์ก๋ LinkedList : O(N + E), N: ์ ์ ์, E: ๊ฐ์ ์ ํ๋ ฌ: O(N^2) ๐ฑ BFS (๋๋น ์ฐ์ ํ์) ์ต๋จ ๊ฒฝ๋ก, ์์์ ๊ฒฝ๋ก๋ฅผ ์ฐพ๊ณ ์ถ์ ๊ฒฝ์ฐ ์ฌ๊ท X, Ite..
๋ฌธ์ 6588๋ฒ: ๊ณจ๋๋ฐํ์ ์ถ์ธก ๊ฐ ํ
์คํธ ์ผ์ด์ค์ ๋ํด์, n = a + b ํํ๋ก ์ถ๋ ฅํ๋ค. ์ด๋, a์ b๋ ํ์ ์์์ด๋ค. ์ซ์์ ์ฐ์ฐ์๋ ๊ณต๋ฐฑ ํ๋๋ก ๊ตฌ๋ถ๋์ด์ ธ ์๋ค. ๋ง์ฝ, n์ ๋ง๋ค ์ ์๋ ๋ฐฉ๋ฒ์ด ์ฌ๋ฌ ๊ฐ์ง๋ผ๋ฉด, b-a๊ฐ ๊ฐ์ฅ ํฐ www.acmicpc.net import math import sys # ํ
์คํธ ์ผ์ด์ค ๊ฐฏ์ maxValue = 1000000 lists = [True] * (maxValue + 1) lists[0] = lists[1] = False # ์๋ผํ ์คํ
๋ค์ค์ ์ฒด for i in range(2, int(math.sqrt(maxValue) + 1)): if lists[i]: # 1. ์๊ฐ ์ด๊ณผ ๋์ ์ถ๊ฐํ ๋ด์ฉ => ํ ๋ฒ ํ์ธํ ๋ด์ฉ์ ๋ค์ ํ์ธํ์ง ์์๋๋จ ์๋๋ฉด ๊ฐ..
1244๋ฒ: ์ค์์น ์ผ๊ณ ๋๊ธฐ ์ฒซ์งธ ์ค์๋ ์ค์์น ๊ฐ์๊ฐ ์ฃผ์ด์ง๋ค. ์ค์์น ๊ฐ์๋ 100 ์ดํ์ธ ์์ ์ ์์ด๋ค. ๋์งธ ์ค์๋ ๊ฐ ์ค์์น์ ์ํ๊ฐ ์ฃผ์ด์ง๋ค. ์ผ์ ธ ์์ผ๋ฉด 1, ๊บผ์ ธ์์ผ๋ฉด 0์ด๋ผ๊ณ ํ์ํ๊ณ ์ฌ์ด์ ๋น์นธ์ด ํ๋์ฉ www.acmicpc.net ๋ฌธ์ 1๋ถํฐ ์ฐ์์ ์ผ๋ก ๋ฒํธ๊ฐ ๋ถ์ด์๋ ์ค์์น๋ค์ด ์๋ค. ์ค์์น๋ ์ผ์ ธ ์๊ฑฐ๋ ๊บผ์ ธ์๋ ์ํ์ด๋ค. ์ ์ค์์น 8๊ฐ์ ์ํ๊ฐ ํ์๋์ด ์๋ค. ‘1’์ ์ค์์น๊ฐ ์ผ์ ธ ์์์, ‘0’์ ๊บผ์ ธ ์์์ ๋ํ๋ธ๋ค. ๊ทธ๋ฆฌ๊ณ ํ์ ๋ช ๋ช
์ ๋ฝ์์, ํ์๋ค์๊ฒ 1 ์ด์์ด๊ณ ์ค์์น ๊ฐ์ ์ดํ์ธ ์์ฐ์๋ฅผ ํ๋์ฉ ๋๋์ด์ฃผ์๋ค. ํ์๋ค์ ์์ ์ ์ฑ๋ณ๊ณผ ๋ฐ์ ์์ ๋ฐ๋ผ ์๋์ ๊ฐ์ ๋ฐฉ์์ผ๋ก ์ค์์น๋ฅผ ์กฐ์ํ๊ฒ ๋๋ค. ๋จํ์์ ์ค์์น ๋ฒํธ๊ฐ ์๊ธฐ๊ฐ ๋ฐ์ ์์ ๋ฐฐ์์ด๋ฉด, ๊ทธ ์ค์์น์ ์..
1002๋ฒ: ํฐ๋ ๊ฐ ํ
์คํธ ์ผ์ด์ค๋ง๋ค ๋ฅ์ฌ๋ช
์ด ์์ ์ ์๋ ์์น์ ์๋ฅผ ์ถ๋ ฅํ๋ค. ๋ง์ฝ ๋ฅ์ฌ๋ช
์ด ์์ ์ ์๋ ์์น์ ๊ฐ์๊ฐ ๋ฌดํ๋์ผ ๊ฒฝ์ฐ์๋ -1์ ์ถ๋ ฅํ๋ค. www.acmicpc.net ๋ฌธ์ ๋ฅผ ํ๋ฉด์ ๊ฐ์ฅ ๋ฐ์ํ๋ ์๋ฌ๋ฅผ ํด๊ฒฐํ ์์ธ์ ๋ค์๊ณผ ๊ฐ๋ค. ์ ์ ์ด 2๊ฐ์ธ ๊ฒ์ ํ์ธํ๋ ์ฝ๋ ๋ฐ๋ก ์์ ์์ฑํ๋ค๋ณด๋ ์ ์ ์ด ๋ฌดํ๋์์๋ ๋ถ๊ตฌํ๊ณ ์ ์ ์ด 1๊ฐ, 2๊ฐ๋ก ํ์
๋๋ ๊ฒ์ ํ์ธํ์๋ค. ๋ฐ๋ผ์ ์ ์ ์ด ๋ฌดํ๋์ ๊ฒฝ์ฐ, ๊ฐ์ฅ ์ฒ์ ํ์ธํด์ผํ๋ ๋ถ๋ถ์ผ๋ก ์กฐ๊ฑด๋ฌธ ๋งจ ์ ๋ถ๋ถ์ ์์ฑํด์ค์ผ ํ๋ค. import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokeni..
import java.util.Scanner; public class Main { static int a; static int[] array; static boolean[] check; public static void main(String[] args) { Scanner scanner = new Scanner(System.in); a = scanner.nextInt(); scanner.close(); array = new int[a]; check = new boolean[a]; dsf(0); } private static void dsf(int count) { if(count == a) { for(int i = 0; i
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.ArrayList; public class Main { // attribute static String[] array; static boolean[] check; static ArrayList ans; public static void main(String[] args) { try { BufferedReader bf = new BufferedReader(new InputStreamReader(System.in)); int a = Integer.parseInt(bf.readLine()); // ๋ถ๋ฑํธ ๊ฐ์ arr..
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; // ์์ด์ด ๋์ฌ ์ ์๋ ๋ชจ๋ ๊ฒฝ์ฐ์ ์๋ฅผ ๊ตฌํ๊ณ ๊ทธ ํ์ ์ ๋ ๊ฐ์ผ๋ก ๋ํด์ค๋ค. public class Main { static int[] array; static int[] array2; static boolean[] check; static int max; static int index; public static void main(String[] args) { try { BufferedReader br = new BufferedReader(new InputStreamRead..
import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); while(true) { boolean answer = true; String a = scanner.next(); if(a.equals("0")) break; for(int i = 0; i< a.length()/2; i++) { if(a.charAt(i)!=a.charAt(a.length()-i-1)) { answer = false; } } if(answer) System.out.println("yes"); else System.out.println("no"); } scanne..
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Stack; import java.util.StringTokenizer; public class Main { public static void main(String[] args) { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); Stack stack = new Stack(); StringBuilder sb = new StringBuilder(); try { int N = Integer.parseInt(br.readLine())..