๋ฐ์ํ Algorithm242 ํ๋ก๊ทธ๋๋จธ์ค[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. [๋ฐฑ์ค] 2399๋ฒ: ๊ฑฐ๋ฆฌ์ ํฉ ใ https://www.acmicpc.net/problem/2399 2399๋ฒ: ๊ฑฐ๋ฆฌ์ ํฉ ์ฒซ์งธ ์ค์ n(1 ≤ n ≤ 10,000)์ด ์ฃผ์ด์ง๋ค. ๋ค์ ์ค์๋ x[1], x[2], x[3], …, x[n]์ด ์ฃผ์ด์ง๋ค. ๊ฐ๊ฐ์ 0 ์ด์ 1,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[] x = new int[N]; long allDistance = 0;// ๋ชจ๋ ์์ ๊ฑฐ๋ฆฌ๋ฅผ ๋ํ ๊ฐ for(int i=0; i 2020. 1. 29. [๋ฐฑ์ค] 1946๋ฒ: ์ ์ ์ฌ์(๊ทธ๋ฆฌ๋, ์ ๋ ฌ) https://www.acmicpc.net/problem/1946 1946๋ฒ: ์ ์ ์ฌ์ ์ฒซ์งธ ์ค์๋ ํ ์คํธ ์ผ์ด์ค์ ๊ฐ์ T(1 ≤ T ≤ 20)๊ฐ ์ฃผ์ด์ง๋ค. ๊ฐ ํ ์คํธ ์ผ์ด์ค์ ์ฒซ์งธ ์ค์ ์ง์์์ ์ซ์ N(1 ≤ N ≤ 100,000)์ด ์ฃผ์ด์ง๋ค. ๋์งธ ์ค๋ถํฐ N๊ฐ ์ค์๋ ๊ฐ๊ฐ์ ์ง์์์ ์๋ฅ์ฌ์ฌ ์ฑ์ , ๋ฉด์ ์ฑ์ ์ ์์๊ฐ ๊ณต๋ฐฑ์ ์ฌ์ด์ ๋๊ณ ํ ์ค์ ์ฃผ์ด์ง๋ค. ๋ ์ฑ์ ์์๋ ๋ชจ๋ 1์๋ถํฐ N์๊น์ง ๋์์ฐจ ์์ด ๊ฒฐ์ ๋๋ค๊ณ ๊ฐ์ ํ๋ค. www.acmicpc.net ํ๋ฆฐ ์ฝ๋ import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner scan = new Scanner(System.in); int.. 2020. 1. 29. [๋ฐฑ์ค] 2903๋ฒ: ์ค์ ์ด๋ ์๊ณ ๋ฆฌ์ฆ https://www.acmicpc.net/problem/2903 2903๋ฒ: ์ค์ ์ด๋ ์๊ณ ๋ฆฌ์ฆ ๋ฌธ์ ์๊ทผ์ด๋ ์น๊ตฌ๋ค๊ณผ ํจ๊ป SF์ํ๋ฅผ ์ฐ์ผ๋ ค๊ณ ํ๋ค. ์ด ์ํ๋ ์ธ๊ณ ์งํ์ด ํ์ํ๋ค. ์ค์ ๋ก ์ฐ์ฃผ์ ์ ํ๊ณ ์ธ๊ณ ํ์ฑ์ ๊ฐ์ ์ดฌ์์ ํ ์ ์๊ธฐ ๋๋ฌธ์, ์ปดํจํฐ ๊ทธ๋ํฝ์ผ๋ก CG์ฒ๋ฆฌ๋ฅผ ํ๋ ค๊ณ ํ๋ค. ์ธ๊ณ ์งํ์ ์ค์ ์ด๋ ์๊ณ ๋ฆฌ์ฆ์ ์ด์ฉํด์ ๋ง๋ค๋ ค๊ณ ํ๋ค. ์๊ณ ๋ฆฌ์ฆ์ ์์ํ๋ฉด์ ์๊ทผ์ด๋ ์ ์ฌ๊ฐํ์ ์ด๋ฃจ๋ ์ 4๊ฐ๋ฅผ ๊ณ ๋ฅธ๋ค. ๊ทธ ํ์๋ ๋ค์๊ณผ ๊ฐ์ ๊ณผ์ ์ ๊ฑฐ์ณ์ ์งํ์ ๋ง๋ ๋ค. ์ ์ฌ๊ฐํ์ ๊ฐ ๋ณ์ ์ค์์ ์ ์ ํ๋ ์ถ๊ฐํ๋ค. ์ ์ฌ๊ฐํ์ ์ค์ฌ์ ์ ์ ํ๋ www.acmicpc.net ์ฝ๋ import java.util.Scanner; public class Main { public static void mai.. 2020. 1. 29. [๋ฐฑ์ค] 1080๋ฒ: ํ๋ ฌ(๊ทธ๋ฆฌ๋) https://www.acmicpc.net/problem/1080 1080๋ฒ: ํ๋ ฌ ์ฒซ์งธ ์ค์ ํ๋ ฌ์ ํฌ๊ธฐ N M์ด ์ฃผ์ด์ง๋ค. N๊ณผ M์ 50๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ ์์ฐ์์ด๋ค. ๋์งธ ์ค๋ถํฐ N๊ฐ์ ์ค์๋ ํ๋ ฌ A๊ฐ ์ฃผ์ด์ง๊ณ , ๊ทธ ๋ค์์ค๋ถํฐ N๊ฐ์ ์ค์๋ ํ๋ ฌ B๊ฐ ์ฃผ์ด์ง๋ค. www.acmicpc.net ์ฝ๋ import java.util.Scanner; public class Main { static int N;// ํ static int M;// ์ด static int[][] aArr;// ํ๋ ฌ A static int[][] bArr;// ํ๋ ฌ B static int count = 0;// ์ฐ์ฐ์ ํ์ // 3*3 ๋ถ๋ถ ํ๋ ฌ์ ๋ชจ๋ ์์ ๋ค์ง๊ธฐ(0->1, 1->0) public static boolean r.. 2020. 1. 28. ์ด์ 1 ยทยทยท 18 19 20 21 22 23 24 25 ๋ค์ ๋ฐ์ํ