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

Algorithm242

[๋ฐฑ์ค€] 3040๋ฒˆ: ๋ฐฑ์„ค ๊ณต์ฃผ์™€ ์ผ๊ณฑ ๋‚œ์Ÿ์ด https://www.acmicpc.net/problem/3040 3040๋ฒˆ: ๋ฐฑ์„ค ๊ณต์ฃผ์™€ ์ผ๊ณฑ ๋‚œ์Ÿ์ด ๋ฌธ์ œ ๋งค์ผ ๋งค์ผ ์ผ๊ณฑ ๋‚œ์Ÿ์ด๋Š” ๊ด‘์‚ฐ์œผ๋กœ ์ผ์„ ํ•˜๋Ÿฌ ๊ฐ„๋‹ค. ๋‚œ์Ÿ์ด๊ฐ€ ์ผ์„ ํ•˜๋Š” ๋™์•ˆ ๋ฐฑ์„ค๊ณต์ฃผ๋Š” ๊ทธ๋“ค์„ ์œ„ํ•ด ์ €๋… ์‹์‚ฌ๋ฅผ ์ค€๋น„ํ•œ๋‹ค. ๋ฐฑ์„ค๊ณต์ฃผ๋Š” ์˜์ž ์ผ๊ณฑ๊ฐœ, ์ ‘์‹œ ์ผ๊ณฑ๊ฐœ, ๋‚˜์ดํ”„ ์ผ๊ณฑ๊ฐœ๋ฅผ ์ค€๋น„ํ•œ๋‹ค. ์–ด๋Š ๋‚  ๊ด‘์‚ฐ์—์„œ ์•„ํ™‰ ๋‚œ์Ÿ์ด๊ฐ€ ๋Œ์•„์™”๋‹ค. (์™œ ๊ทธ๋ฆฌ๊ณ  ์–ด๋–ป๊ฒŒ ์•„ํ™‰ ๋‚œ์Ÿ์ด๊ฐ€ ๋Œ์•„์™”๋Š”์ง€๋Š” ์•„๋ฌด๋„ ๋ชจ๋ฅธ๋‹ค) ์•„ํ™‰ ๋‚œ์Ÿ์ด๋Š” ๊ฐ๊ฐ ์ž์‹ ์ด ๋ฐฑ์„ค๊ณต์ฃผ์˜ ์ผ๊ณฑ ๋‚œ์Ÿ์ด๋ผ๊ณ  ์šฐ๊ธฐ๊ณ  ์žˆ๋‹ค. ๋ฐฑ์„ค๊ณต์ฃผ๋Š” ์ด๋Ÿฐ ์ผ์ด ์ƒ๊ธธ ๊ฒƒ์„ ๋Œ€๋น„ํ•ด์„œ, ๋‚œ์Ÿ์ด๊ฐ€ ์“ฐ๊ณ  ๋‹ค๋‹ˆ๋Š” ๋ชจ์ž์— 100๋ณด๋‹ค ์ž‘์€ ์–‘ www.acmicpc.net ์ฝ”๋“œ import java.util.Scanner; public class Main { public static void.. 2020. 2. 7.
[๋ฐฑ์ค€] 2161๋ฒˆ: ์นด๋“œ1(์‹œ๋ฎฌ๋ ˆ์ด์…˜) https://www.acmicpc.net/problem/2161 2161๋ฒˆ: ์นด๋“œ1 N์žฅ์˜ ์นด๋“œ๊ฐ€ ์žˆ๋‹ค. ๊ฐ๊ฐ์˜ ์นด๋“œ๋Š” ์ฐจ๋ก€๋กœ 1๋ถ€ํ„ฐ N๊นŒ์ง€์˜ ๋ฒˆํ˜ธ๊ฐ€ ๋ถ™์–ด ์žˆ์œผ๋ฉฐ, 1๋ฒˆ ์นด๋“œ๊ฐ€ ์ œ์ผ ์œ„์—, N๋ฒˆ ์นด๋“œ๊ฐ€ ์ œ์ผ ์•„๋ž˜์ธ ์ƒํƒœ๋กœ ์ˆœ์„œ๋Œ€๋กœ ์นด๋“œ๊ฐ€ ๋†“์—ฌ ์žˆ๋‹ค. ์ด์ œ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋™์ž‘์„ ์นด๋“œ๊ฐ€ ํ•œ ์žฅ ๋‚จ์„ ๋•Œ๊นŒ์ง€ ๋ฐ˜๋ณตํ•˜๊ฒŒ ๋œ๋‹ค. ์šฐ์„ , ์ œ์ผ ์œ„์— ์žˆ๋Š” ์นด๋“œ๋ฅผ ๋ฐ”๋‹ฅ์— ๋ฒ„๋ฆฐ๋‹ค. ๊ทธ ๋‹ค์Œ, ์ œ์ผ ์œ„์— ์žˆ๋Š” ์นด๋“œ๋ฅผ ์ œ์ผ ์•„๋ž˜์— ์žˆ๋Š” ์นด๋“œ ๋ฐ‘์œผ๋กœ ์˜ฎ๊ธด๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด N=4์ธ ๊ฒฝ์šฐ๋ฅผ ์ƒ๊ฐํ•ด ๋ณด์ž. ์นด๋“œ๋Š” ์ œ์ผ ์œ„์—์„œ๋ถ€ํ„ฐ 1234 ์˜ ์ˆœ์„œ๋กœ ๋†“์—ฌ์žˆ๋‹ค. 1์„ ๋ฒ„๋ฆฌ www.acmicpc.net ์ฝ”๋“œ import java.util.*; public class Main { public static void main(String[] a.. 2020. 2. 7.
[๋ฐฑ์ค€] 1012๋ฒˆ: ์œ ๊ธฐ๋† ๋ฐฐ์ถ”(dfs, bfs) https://www.acmicpc.net/problem/1012 1012๋ฒˆ: ์œ ๊ธฐ๋† ๋ฐฐ์ถ” ์ฐจ์„ธ๋Œ€ ์˜๋†์ธ ํ•œ๋‚˜๋Š” ๊ฐ•์›๋„ ๊ณ ๋žญ์ง€์—์„œ ์œ ๊ธฐ๋† ๋ฐฐ์ถ”๋ฅผ ์žฌ๋ฐฐํ•˜๊ธฐ๋กœ ํ•˜์˜€๋‹ค. ๋†์•ฝ์„ ์“ฐ์ง€ ์•Š๊ณ  ๋ฐฐ์ถ”๋ฅผ ์žฌ๋ฐฐํ•˜๋ ค๋ฉด ๋ฐฐ์ถ”๋ฅผ ํ•ด์ถฉ์œผ๋กœ๋ถ€ํ„ฐ ๋ณดํ˜ธํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•˜๊ธฐ ๋•Œ๋ฌธ์—, ํ•œ๋‚˜๋Š” ํ•ด์ถฉ ๋ฐฉ์ง€์— ํšจ๊ณผ์ ์ธ ๋ฐฐ์ถ”ํฐ์ง€๋ ์ด๋ฅผ ๊ตฌ์ž…ํ•˜๊ธฐ๋กœ ๊ฒฐ์‹ฌํ•œ๋‹ค. ์ด ์ง€๋ ์ด๋Š” ๋ฐฐ์ถ”๊ทผ์ฒ˜์— ์„œ์‹ํ•˜๋ฉฐ ํ•ด์ถฉ์„ ์žก์•„ ๋จน์Œ์œผ๋กœ์จ ๋ฐฐ์ถ”๋ฅผ ๋ณดํ˜ธํ•œ๋‹ค. ํŠนํžˆ, ์–ด๋–ค ๋ฐฐ์ถ”์— ๋ฐฐ์ถ”ํฐ์ง€๋ ์ด๊ฐ€ ํ•œ ๋งˆ๋ฆฌ๋ผ๋„ ์‚ด๊ณ  ์žˆ์œผ๋ฉด ์ด ์ง€๋ ์ด๋Š” ์ธ์ ‘ํ•œ ๋‹ค๋ฅธ ๋ฐฐ์ถ”๋กœ ์ด๋™ํ•  ์ˆ˜ ์žˆ์–ด, ๊ทธ ๋ฐฐ์ถ”๋“ค ์—ญ์‹œ ํ•ด์ถฉ์œผ๋กœ๋ถ€ํ„ฐ ๋ณดํ˜ธ๋ฐ›์„ ์ˆ˜ ์žˆ๋‹ค. ( www.acmicpc.net ์ฝ”๋“œ import java.util.Scanner; public class Main { static int map[][]; stati.. 2020. 2. 7.
ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค[Java] - ๊ธฐ์ง€๊ตญ ์„ค์น˜(๊ทธ๋ฆฌ๋””) https://programmers.co.kr/learn/courses/30/lessons/12979 ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต - ๊ธฐ์ง€๊ตญ ์„ค์น˜ | ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค N๊ฐœ์˜ ์•„ํŒŒํŠธ๊ฐ€ ์ผ๋ ฌ๋กœ ์ญ‰ ๋Š˜์–ด์„œ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ์ค‘์—์„œ ์ผ๋ถ€ ์•„ํŒŒํŠธ ์˜ฅ์ƒ์—๋Š” 4g ๊ธฐ์ง€๊ตญ์ด ์„ค์น˜๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ๊ธฐ์ˆ ์ด ๋ฐœ์ „ํ•ด 5g ์ˆ˜์š”๊ฐ€ ๋†’์•„์ ธ 4g ๊ธฐ์ง€๊ตญ์„ 5g ๊ธฐ์ง€๊ตญ์œผ๋กœ ๋ฐ”๊พธ๋ ค ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ๋ฐ 5g ๊ธฐ์ง€๊ตญ์€ 4g ๊ธฐ์ง€๊ตญ๋ณด๋‹ค ์ „๋‹ฌ ๋ฒ”์œ„๊ฐ€ ์ข์•„, 4g ๊ธฐ์ง€๊ตญ์„ 5g ๊ธฐ์ง€๊ตญ์œผ๋กœ ๋ฐ”๊พธ๋ฉด ์–ด๋–ค ์•„ํŒŒํŠธ์—๋Š” ์ „ํŒŒ๊ฐ€ ๋„๋‹ฌํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด 11๊ฐœ์˜ ์•„ํŒŒํŠธ๊ฐ€ ์ญ‰ ๋Š˜์–ด์„œ ์žˆ๊ณ , [4, 11] ๋ฒˆ์งธ ์•„ํŒŒํŠธ ์˜ฅ์ƒ์—๋Š” 4g ๊ธฐ์ง€๊ตญ์ด ์„ค์น˜๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ๋งŒ์•ฝ ์ด 4g programmers.co.kr ์‹œ๊ฐ„ ์ดˆ๊ณผ ์ฝ”๋“œ import java.util.LinkedList; i.. 2020. 2. 7.
[๋ฐฑ์ค€] 11586๋ฒˆ: ์ง€์˜ ๊ณต์ฃผ๋‹˜์˜ ๋งˆ๋ฒ• ๊ฑฐ์šธ(๋ฌธ์ž์—ด) https://www.acmicpc.net/problem/11586 11586๋ฒˆ: ์ง€์˜ ๊ณต์ฃผ๋‹˜์˜ ๋งˆ๋ฒ• ๊ฑฐ์šธ ์ฒœ๋‚˜๋ผ ๋ฏผํ˜ธ์„ฑ์˜ ์ง€์˜ ๊ณต์ฃผ๋‹˜์€ ๋งค์šฐ ์•„๋ฆ„๋‹ต๋‹ค. ๊ณต์ฃผ๋‹˜ ์ž์‹ ๋„ ์ด ์„ธ์ƒ ๊ทธ ๋ˆ„๊ตฌ๋ณด๋‹ค ์ž์‹ ์ด ์•„๋ฆ„๋‹ต๋‹ค๋Š” ๊ฒƒ์„ ์•Œ๊ณ  ์žˆ๋‹ค. ๊ณต์ฃผ๋‹˜์€ ์ž์‹ ์˜ ์•„๋ฆ„๋‹ค์›€์ด ์„ธ์›”์˜ ์ €ํŽธ์œผ๋กœ ์‚ฌ๋ผ์ง€๋Š” ๊ฒƒ์„ ๋งค์šฐ ๋‘๋ ค์›Œํ•œ๋‹ค. ๊ทธ๋ž˜์„œ ํ•˜๋ฃจ์—๋„ ์ˆ˜์‹ญ ์ˆ˜๋ฐฑ ๋ฒˆ์”ฉ ๊ฑฐ์šธ์„ ๋ณด๋ฉฐ ์ž์‹ ์˜ ๋ชจ์Šต์ด ์—ฌ์ „ํžˆ ์•„๋ฆ„๋‹ค์šด์ง€ ํ™•์ธ์„ ๊ฑฐ๋“ญํ•œ๋‹ค. ๊ทธ๋Ÿฌ๋˜ ์–ด๋Š ๋‚ , ์„ธ์ƒ์˜ ๋‹ค์–‘ํ•œ ์žฅ๋ฉด๋“ค์„ ๋‹ด๊ณ  ์‹ถ์—ˆ๋˜ ๊ณต์ฃผ๋‹˜์˜ ๋งˆ๋ฒ•๊ฑฐ์šธ์€ ๋งค์ผ ๋˜‘๊ฐ™์€ ๋ชจ์Šต๋งŒ์„ ๋น„์ถ”๋Š” ์ž์‹ ์˜ ์šด๋ช…์— ์ขŒ์ ˆํ•˜๋ฉฐ ์•ž์œผ๋กœ์˜ ์šด๋ช…์„ ๊ฐœ์ฒ™ํ•˜๊ธฐ๋กœ ๊ฒฐ์‹ฌํ–ˆ๋‹ค. ๋งˆ๋ฒ•๊ฑฐ์šธ www.acmicpc.net ์ฝ”๋“œ import java.util.Scanner; public class Main { static int N; st.. 2020. 2. 6.
[๋ฐฑ์ค€] 11724๋ฒˆ: ์—ฐ๊ฒฐ ์š”์†Œ์˜ ๊ฐœ์ˆ˜(dfs, bfs) https://www.acmicpc.net/problem/11724 11724๋ฒˆ: ์—ฐ๊ฒฐ ์š”์†Œ์˜ ๊ฐœ์ˆ˜ ์ฒซ์งธ ์ค„์— ์ •์ ์˜ ๊ฐœ์ˆ˜ N๊ณผ ๊ฐ„์„ ์˜ ๊ฐœ์ˆ˜ M์ด ์ฃผ์–ด์ง„๋‹ค. (1 ≤ N ≤ 1,000, 0 ≤ M ≤ N×(N-1)/2) ๋‘˜์งธ ์ค„๋ถ€ํ„ฐ M๊ฐœ์˜ ์ค„์— ๊ฐ„์„ ์˜ ์–‘ ๋์  u์™€ v๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. (1 ≤ u, v ≤ N, u ≠ v) ๊ฐ™์€ ๊ฐ„์„ ์€ ํ•œ ๋ฒˆ๋งŒ ์ฃผ์–ด์ง„๋‹ค. www.acmicpc.net dfs ์ฝ”๋“œ import java.util.Scanner; public class Main { static int N;// ์ •์  static int M;// ๊ฐ„์„  static int count;// ์—ฐ๊ฒฐ ์š”์†Œ์˜ ๊ฐœ์ˆ˜ static int graph[][];// ๋ฌด๋ฐฉํ–ฅ ๊ทธ๋ž˜ํ”„ static boolean visit[];// ๋ฐฉ๋ฌธ ์—ฌ๋ถ€.. 2020. 2. 6.
[๋ฐฑ์ค€] 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.
๋ฐ˜์‘ํ˜•