๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๋ฐ˜์‘ํ˜•

์ „์ฒด ๊ธ€396

[๋ฐฑ์ค€] 2262๋ฒˆ: ํ† ๋„ˆ๋จผํŠธ ๋งŒ๋“ค๊ธฐ(๊ทธ๋ฆฌ๋””) https://www.acmicpc.net/problem/2262 2262๋ฒˆ: ํ† ๋„ˆ๋จผํŠธ ๋งŒ๋“ค๊ธฐ ์›”๋“œ์‹œ์—์„œ๋Š” ๋งค๋…„ n๋ช…์˜ ์‚ฌ๋žŒ๋“ค์ด ๋ชจ์—ฌ ์›”๋“œ ํฌ๋ž˜ํ”„ํŠธ๋ผ๋Š” ๊ฒŒ์ž„์˜ ํ† ๋„ˆ๋จผํŠธ ๋Œ€ํšŒ๋ฅผ ์น˜๋ฅธ๋‹ค. ์ด ๊ฒŒ์ž„์€ ํŠน์„ฑ์ƒ ์‹ค๋ ฅ๋งŒ์ด ์ŠนํŒจ๋ฅผ ์ขŒ์šฐํ•˜๊ธฐ ๋•Œ๋ฌธ์—, ์•„๋ฌด๋ฆฌ ์‹ค๋ ฅ์ด ์—‡๋น„์Šทํ•œ ์‚ฌ๋žŒ์ด ์‹œํ•ฉ์„ ์น˜๋Ÿฌ๋„ ๋žญํ‚น์ด ๋†’์€ ์‚ฌ๋žŒ์ด ๋ฐ˜๋“œ์‹œ ์ด๊ธฐ๊ฒŒ ๋œ๋‹ค. ๋”ฐ๋ผ์„œ ์›”๋“œ์‹œ์—์„œ๋Š” ๊ฒŒ์ž„์„ ํฅ๋ฏธ์ง„์ง„ํ•˜๊ฒŒ ๋งŒ๋“ค๊ธฐ ์œ„ํ•ด์„œ, ๋ถ€์ „์Šน์„ ์—ฌ๋Ÿฌ ๋ฒˆ ๋งŒ๋“ค๋”๋ผ๋„ ๊ฐ ์‹œํ•ฉ์— ์ž„ํ•˜๋Š” ์„ ์ˆ˜๋“ค์˜ ๋žญํ‚น ์ฐจ์ด๋ฅผ ๋น„์Šทํ•˜๊ฒŒ ๋งŒ๋“ค๋ ค๊ณ  ํ•œ๋‹ค. ํ† ๋„ˆ๋จผํŠธ๋ฅผ ๋งŒ๋“ค ๋•Œ์—๋Š” ์ด๋ฏธ ์ถ”์ฒจ์ด ๋œ ์ˆœ์„œ๋Œ€๋กœ ์„ ์ˆ˜๋“ค์„ ๋ฐฐ์น˜ํ•˜๊ณ , ์™ผ์ชฝ์—์„œ ์˜ค๋ฅธ์ชฝ www.acmicpc.net ์ฝ”๋“œ import java.util.ArrayList; import java.util.List; import java.util.S.. 2020. 2. 6.
[๋ฐฑ์ค€] 5218๋ฒˆ: ์•ŒํŒŒ๋ฒณ ๊ฑฐ๋ฆฌ(๋ฌธ์ž์—ด) https://www.acmicpc.net/problem/5218 5218๋ฒˆ: ์•ŒํŒŒ๋ฒณ ๊ฑฐ๋ฆฌ ๋ฌธ์ œ ๊ธธ์ด๊ฐ€ ๊ฐ™์€ ๋‘ ๋‹จ์–ด๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ, ๊ฐ ๋‹จ์–ด์— ํฌํ•จ๋œ ๋ชจ๋“  ๊ธ€์ž์˜ ์•ŒํŒŒ๋ฒณ ๊ฑฐ๋ฆฌ๋ฅผ ๊ตฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค. ๋‘ ๊ธ€์ž x์™€ y ์‚ฌ์ด์˜ ์•ŒํŒŒ๋ฒณ ๊ฑฐ๋ฆฌ๋ฅผ ๊ตฌํ•˜๋ ค๋ฉด, ๋จผ์ € ๊ฐ ์•ŒํŒŒ๋ฒณ์— ์ˆซ์ž๋ฅผ ํ• ๋‹นํ•ด์•ผ ํ•œ๋‹ค. 'A'=1, 'B' = 2, ..., 'Z' = 26. ๊ทธ ๋‹ค์Œ y ≥ x์ธ ๊ฒฝ์šฐ์—๋Š” y-x, y < x์ธ ๊ฒฝ์šฐ์—๋Š” (y+26) - x๊ฐ€ ์•ŒํŒŒ๋ฒณ ๊ฑฐ๋ฆฌ๊ฐ€ ๋œ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, 'B'์™€ 'D' ์‚ฌ์ด์˜ ๊ฑฐ๋ฆฌ๋Š” 4 - 2 = 2์ด๊ณ , 'D'์™€ 'B' ์‚ฌ์ด์˜ www.acmicpc.net ์ฝ”๋“œ import java.util.Scanner; public class Main { public static void main(St.. 2020. 2. 6.
[๋ฐฑ์ค€] 11403๋ฒˆ: ๊ฒฝ๋กœ ์ฐพ๊ธฐ(dfs, bfs) https://www.acmicpc.net/problem/11403 11403๋ฒˆ: ๊ฒฝ๋กœ ์ฐพ๊ธฐ ๊ฐ€์ค‘์น˜ ์—†๋Š” ๋ฐฉํ–ฅ ๊ทธ๋ž˜ํ”„ G๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ, ๋ชจ๋“  ์ •์  (i, j)์— ๋Œ€ํ•ด์„œ, i์—์„œ j๋กœ ๊ฐ€๋Š” ๊ฒฝ๋กœ๊ฐ€ ์žˆ๋Š”์ง€ ์—†๋Š”์ง€ ๊ตฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค. www.acmicpc.net dfs ์ฝ”๋“œ import java.util.Scanner; public class Main { static int[][] graph;// ๋ฐฉํ–ฅ๊ทธ๋ž˜ํ”„ ์ธ์ ‘ ํ–‰๋ ฌ static int[][] path;// ๊ฒฐ๊ณผ ์ถœ๋ ฅํ•  2์ฐจ์› ๋ฐฐ์—ด static boolean[] visit;// ํƒ์ƒ‰ ์—ฌ๋ถ€ ์ฒดํฌ static int N;// ์ •์ ์˜ ๊ฐฏ์ˆ˜ public static void dfs(int x, int y) { visit[y] = true;// ๊ฐ ํ–‰๋งˆ๋‹ค.. 2020. 2. 5.
[๋ฐฑ์ค€] 1475๋ฒˆ: ๋ฐฉ ๋ฒˆํ˜ธ(๋ฌธ์ž์—ด, ๊ตฌํ˜„) https://www.acmicpc.net/problem/1475 1475๋ฒˆ: ๋ฐฉ ๋ฒˆํ˜ธ ์ฒซ์งธ ์ค„์— ๋‹ค์†œ์ด์˜ ๋ฐฉ ๋ฒˆํ˜ธ N์ด ์ฃผ์–ด์ง„๋‹ค. N์€ 1,000,000๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™์€ ์ž์—ฐ์ˆ˜ ๋˜๋Š” 0์ด๋‹ค. www.acmicpc.net ์ฝ”๋“œ import java.util.Arrays; import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner scan = new Scanner(System.in); String N = scan.nextLine(); int count = 0; int[] arr = new int[9];// 0, 1, 2, 3, 4, 5, 6, 7, 8 ๋‹ด๊ธฐ N = N.replace('9', '6'.. 2020. 2. 5.
ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค[Java] - ๊ตฌ๋ช…๋ณดํŠธ(๊ทธ๋ฆฌ๋””) https://programmers.co.kr/learn/courses/30/lessons/42885 ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต - ๊ตฌ๋ช…๋ณดํŠธ | ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ๋ฌด์ธ๋„์— ๊ฐ‡ํžŒ ์‚ฌ๋žŒ๋“ค์„ ๊ตฌ๋ช…๋ณดํŠธ๋ฅผ ์ด์šฉํ•˜์—ฌ ๊ตฌ์ถœํ•˜๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ๊ตฌ๋ช…๋ณดํŠธ๋Š” ์ž‘์•„์„œ ํ•œ ๋ฒˆ์— ์ตœ๋Œ€ 2๋ช…์”ฉ ๋ฐ–์— ํƒˆ ์ˆ˜ ์—†๊ณ , ๋ฌด๊ฒŒ ์ œํ•œ๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ์‚ฌ๋žŒ๋“ค์˜ ๋ชธ๋ฌด๊ฒŒ๊ฐ€ [70kg, 50kg, 80kg, 50kg]์ด๊ณ  ๊ตฌ๋ช…๋ณดํŠธ์˜ ๋ฌด๊ฒŒ ์ œํ•œ์ด 100kg์ด๋ผ๋ฉด 2๋ฒˆ์งธ ์‚ฌ๋žŒ๊ณผ 4๋ฒˆ์งธ ์‚ฌ๋žŒ์€ ๊ฐ™์ด ํƒˆ ์ˆ˜ ์žˆ์ง€๋งŒ 1๋ฒˆ์งธ ์‚ฌ๋žŒ๊ณผ 3๋ฒˆ์งธ ์‚ฌ๋žŒ์˜ ๋ฌด๊ฒŒ์˜ ํ•ฉ์€ 150kg์ด๋ฏ€๋กœ ๊ตฌ๋ช…๋ณดํŠธ์˜ ๋ฌด๊ฒŒ ์ œํ•œ์„ ์ดˆ๊ณผํ•˜์—ฌ ๊ฐ™์ด ํƒˆ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ๊ตฌ๋ช…๋ณดํŠธ๋ฅผ ์ตœ๋Œ€ํ•œ ์ ๊ฒŒ ์‚ฌ์šฉํ•˜์—ฌ ๋ชจ programmers.co.kr ์ฝ”๋“œ import java.util.Arrays; class Solutio.. 2020. 2. 4.
[๋ฐฑ์ค€] 9625๋ฒˆ: BABBA(DP) https://www.acmicpc.net/problem/9625 9625๋ฒˆ: BABBA ๋ฌธ์ œ ์ƒ๊ทผ์ด๋Š” ๊ธธ์„ ๊ฑท๋‹ค๊ฐ€ ์‹ ๊ธฐํ•œ ๊ธฐ๊ณ„๋ฅผ ๋ฐœ๊ฒฌํ–ˆ๋‹ค. ๊ธฐ๊ณ„๋Š” ๋งค์šฐ ๋งค์šฐ ํฐ ํ™”๋ฉด๊ณผ ๋ฒ„ํŠผ ํ•˜๋‚˜๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ๋‹ค. ๊ธฐ๊ณ„๋ฅผ ๋ฐœ๊ฒฌํ–ˆ์„ ๋•Œ, ํ™”๋ฉด์—๋Š” A๋งŒ ํ‘œ์‹œ๋˜์–ด์ ธ ์žˆ์—ˆ๋‹ค. ๋ฒ„ํŠผ์„ ๋ˆ„๋ฅด๋‹ˆ ๊ธ€์ž๊ฐ€ B๋กœ ๋ณ€ํ–ˆ๋‹ค. ํ•œ ๋ฒˆ ๋” ๋ˆ„๋ฅด๋‹ˆ BA๋กœ ๋ฐ”๋€Œ๊ณ , ๊ทธ ๋‹ค์Œ์—๋Š” BAB, ๊ทธ๋ฆฌ๊ณ  BABBA๋กœ ๋ฐ”๋€Œ์—ˆ๋‹ค. ์ƒ๊ทผ์ด๋Š” ํ™”๋ฉด์˜ ๋ชจ๋“  B๋Š” BA๋กœ ๋ฐ”๋€Œ๊ณ , A๋Š” B๋กœ ๋ฐ”๋€๋‹ค๋Š” ์‚ฌ์‹ค์„ ์•Œ๊ฒŒ๋˜์—ˆ๋‹ค. ๋ฒ„ํŠผ์„ K๋ฒˆ ๋ˆŒ๋ €์„ ๋•Œ, ํ™”๋ฉด์— A์™€ B์˜ ๊ฐœ์ˆ˜๋Š” ๋ช‡ ๊ฐœ๊ฐ€ ๋ ๊นŒ? ์ž…๋ ฅ ์ฒซ์งธ ์ค„์— K (1 www.acmicpc.net ์ฝ”๋“œ import java.util.Scanner; public class Main { public static void main(St.. 2020. 2. 4.
[๋ฐฑ์ค€] 1783๋ฒˆ: ๋ณ‘๋“  ๋‚˜์ดํŠธ(๊ทธ๋ฆฌ๋””, ๊ตฌํ˜„) https://www.acmicpc.net/problem/1783 1783๋ฒˆ: ๋ณ‘๋“  ๋‚˜์ดํŠธ ์ฒซ์งธ ์ค„์— ์ฒด์ŠคํŒ์˜ ์„ธ๋กœ ๊ธธ์ด N์™€ ๊ฐ€๋กœ ๊ธธ์ด M์ด ์ฃผ์–ด์ง„๋‹ค. N๊ณผ M์€ 2,000,000,000๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™์€ ์ž์—ฐ์ˆ˜์ด๋‹ค. www.acmicpc.net ์ฝ”๋“œ import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner scan = new Scanner(System.in); int N = scan.nextInt();// ์„ธ๋กœ int M = scan.nextInt();// ๊ฐ€๋กœ int visitRoom = 1;// ๋ฐฉ๋ฌธํ•  ์ˆ˜ ์žˆ๋Š” ์นธ์˜ ์ˆ˜ if(N == 1)// ์„ธ๋กœ๊ธธ์ด๊ฐ€ 1 => ์ฒ˜์Œ์— ์žˆ๋Š” ์นธ๋งŒ ๊ฐ€๋Šฅ v.. 2020. 2. 4.
[๋ฐฑ์ค€] 2667๋ฒˆ: ๋‹จ์ง€๋ฒˆํ˜ธ๋ถ™์ด๊ธฐ(๊ทธ๋ž˜ํ”„, DFS) https://www.acmicpc.net/problem/2667 2667๋ฒˆ: ๋‹จ์ง€๋ฒˆํ˜ธ๋ถ™์ด๊ธฐ ๊ณผ ๊ฐ™์ด ์ •์‚ฌ๊ฐํ˜• ๋ชจ์–‘์˜ ์ง€๋„๊ฐ€ ์žˆ๋‹ค. 1์€ ์ง‘์ด ์žˆ๋Š” ๊ณณ์„, 0์€ ์ง‘์ด ์—†๋Š” ๊ณณ์„ ๋‚˜ํƒ€๋‚ธ๋‹ค. ์ฒ ์ˆ˜๋Š” ์ด ์ง€๋„๋ฅผ ๊ฐ€์ง€๊ณ  ์—ฐ๊ฒฐ๋œ ์ง‘๋“ค์˜ ๋ชจ์ž„์ธ ๋‹จ์ง€๋ฅผ ์ •์˜ํ•˜๊ณ , ๋‹จ์ง€์— ๋ฒˆํ˜ธ๋ฅผ ๋ถ™์ด๋ ค ํ•œ๋‹ค. ์—ฌ๊ธฐ์„œ ์—ฐ๊ฒฐ๋˜์—ˆ๋‹ค๋Š” ๊ฒƒ์€ ์–ด๋–ค ์ง‘์ด ์ขŒ์šฐ, ํ˜น์€ ์•„๋ž˜์œ„๋กœ ๋‹ค๋ฅธ ์ง‘์ด ์žˆ๋Š” ๊ฒฝ์šฐ๋ฅผ ๋งํ•œ๋‹ค. ๋Œ€๊ฐ์„ ์ƒ์— ์ง‘์ด ์žˆ๋Š” ๊ฒฝ์šฐ๋Š” ์—ฐ๊ฒฐ๋œ ๊ฒƒ์ด ์•„๋‹ˆ๋‹ค. ๋Š” ์„ ๋‹จ์ง€๋ณ„๋กœ ๋ฒˆํ˜ธ๋ฅผ ๋ถ™์ธ ๊ฒƒ์ด๋‹ค. ์ง€๋„๋ฅผ ์ž…๋ ฅํ•˜์—ฌ ๋‹จ์ง€์ˆ˜๋ฅผ ์ถœ๋ ฅํ•˜๊ณ , ๊ฐ ๋‹จ์ง€์— ์†ํ•˜๋Š” ์ง‘์˜ ์ˆ˜ www.acmicpc.net ์ฝ”๋“œ import java.util.Arrays; import java.util.Scanner; public class Main { static int[][] ma.. 2020. 2. 3.
[๋ฐฑ์ค€] 1049๋ฒˆ: ๊ธฐํƒ€์ค„(๊ทธ๋ฆฌ๋””, ๊ตฌํ˜„) https://www.acmicpc.net/problem/1049 1049๋ฒˆ: ๊ธฐํƒ€์ค„ ์ฒซ์งธ ์ค„์— N๊ณผ M์ด ์ฃผ์–ด์ง„๋‹ค. N์€ 100๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™์€ ์ž์—ฐ์ˆ˜์ด๊ณ , M์€ 50๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™์€ ์ž์—ฐ์ˆ˜์ด๋‹ค. ๋‘˜์งธ ์ค„๋ถ€ํ„ฐ M๊ฐœ์˜ ์ค„์—๋Š” ๊ฐ ๋ธŒ๋žœ๋“œ์˜ ํŒจํ‚ค์ง€ ๊ฐ€๊ฒฉ๊ณผ ๋‚ฑ๊ฐœ์˜ ๊ฐ€๊ฒฉ์ด ๊ณต๋ฐฑ์œผ๋กœ ๊ตฌ๋ถ„ํ•˜์—ฌ ์ฃผ์–ด์ง„๋‹ค. ๊ฐ€๊ฒฉ์€ 0๋ณด๋‹ค ํฌ๊ฑฐ๋‚˜ ๊ฐ™๊ณ , 1,000๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™์€ ์ •์ˆ˜์ด๋‹ค. www.acmicpc.net ํ‹€๋ฆฐ ์ฝ”๋“œ import java.util.Arrays; import java.util.Comparator; import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner scan = new Scanner(System.. 2020. 2. 3.
[๋ฐฑ์ค€] 1543๋ฒˆ: ๋ฌธ์„œ ๊ฒ€์ƒ‰(๊ทธ๋ฆฌ๋””, ์™„์ „ํƒ์ƒ‰) https://www.acmicpc.net/problem/1543 1543๋ฒˆ: ๋ฌธ์„œ ๊ฒ€์ƒ‰ ์„ธ์ค€์ด๋Š” ์˜์–ด๋กœ๋งŒ ์ด๋ฃจ์–ด์ง„ ์–ด๋–ค ๋ฌธ์„œ๋ฅผ ๊ฒ€์ƒ‰ํ•˜๋Š” ํ•จ์ˆ˜๋ฅผ ๋งŒ๋“ค๋ ค๊ณ  ํ•œ๋‹ค. ์ด ํ•จ์ˆ˜๋Š” ์–ด๋–ค ๋‹จ์–ด๊ฐ€ ์ด ๋ช‡ ๋ฒˆ ๋“ฑ์žฅํ•˜๋Š”์ง€ ์„ธ๋ ค๊ณ  ํ•œ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜, ์„ธ์ค€์ด์˜ ํ•จ์ˆ˜๋Š” ์ค‘๋ณต๋˜์–ด ์„ธ๋Š” ๊ฒƒ์€ ๋นผ๊ณ  ์„ธ์•ผ ํ•œ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ๋ฌธ์„œ๊ฐ€ abababa์ด๊ณ , ๊ทธ๋ฆฌ๊ณ  ์ฐพ์œผ๋ ค๋Š” ababa๋ผ๋ฉด, ์„ธ์ค€์ด์˜ ์ด ํ•จ์ˆ˜๋Š” ์ด ๋‹จ์–ด๋ฅผ 0๋ฒˆ๋ถ€ํ„ฐ ์ฐพ์„ ์ˆ˜ ์žˆ๊ณ , 2๋ฒˆ๋ถ€ํ„ฐ๋„ ์ฐพ์„ ์ˆ˜ ์žˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๋™์‹œ์— ์…€ ์ˆ˜๋Š” ์—†๋‹ค. ์„ธ์ค€์ด๋Š” ๋ฌธ์„œ์™€ ๊ฒ€์ƒ‰ํ•˜๋ ค๋Š” ๋‹จ์–ด๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ, ๊ทธ ๋‹จ์–ด๊ฐ€ ์ตœ๋Œ€ ๋ช‡ ๋ฒˆ ์ค‘๋ณต๋˜์ง€ www.acmicpc.net ์ฝ”๋“œ import java.util.Scanner; public class Main { public static void main(Str.. 2020. 2. 3.
๋ฐ˜์‘ํ˜•