Algorithm ์ธ๋ค์ผํ ๋ฆฌ์คํธํ [Algorithm/Java][๋ฐฑ์ค] 1806๋ฒ ๋ถ๋ถํฉ [BOJ] 1806๋ฒ ๋ถ๋ถํฉ https://www.acmicpc.net/problem/1806 ๋ฌธ์ ์ ๊ทผ ํฌ ํฌ์ธํฐ๋ฅผ ์ด์ฉํด์ ๋ฌธ์ ๋ฅผ ํ์๋ค. deque์ ์ด๋ถ ํ์์ ์ด์ฉํด์๋ ํ ์ ์๋ค๊ณ ํ๋๋ฐ ๋ถ๋ฅ๊ฐ ํฌ ํฌ์ธํฐ๋ผ์ ํฌ ํฌ์ธํฐ๋ฅผ ์ฌ์ฉํด์ ํ์๋ค. start์ end์ธ ๋ ๊ฐ์ ์ธ๋ฑ์ค๋ฅผ ์ฌ์ฉํ๊ณ sum์ด t(๋ชฉํ ๊ฐ)๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ผ๋ฉด end๋ฅผ +1ํด์ ํ๊ฐ๋ฅผ ๋ ๋ํ๋๋ก ํ๊ณ , sum์ด t(๋ชฉํ ๊ฐ)๋ณด๋ค ํฌ๋ฉด start๋ฅผ +1 ํด์ ํฉ์์ ํ๊ฐ๋ฅผ ๋นผ์ ๋ชฉํ ๊ฐ์ ์ ๊ทผํ๋๋ก ํ๋ค. ํฌ ํฌ์ธํฐ๋ฅผ ์ฌ์ฉํ๊ฒ ๋๋ฉด O(N)์ผ๋ก ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ์ ์๊ฒ ๋๋ ์ฅ์ ์ด ์๋ค. Code import java.io.BufferedReader; import java.io.IOException; import java.io.. ๋๋ณด๊ธฐ [Algorithm/Java][๋ฐฑ์ค] 1700๋ฒ ๋ฉํฐํญ ์ค์ผ์ค๋ง [BOJ] 1700๋ฒ ๋ฉํฐํญ ์ค์ผ์ค๋ง https://www.acmicpc.net/problem/1700 ๋ฌธ์ ์ ๊ทผ ์์ ์ ์ด์์ฒด์ ์๊ฐ์ ๋ฐฐ์ ๋ ํ์ด์ง ๊ต์ฒด ์๊ณ ๋ฆฌ์ฆ๊ณผ ๋น์ทํด์ ์ฝ๊ฒ ํ ์ ์์๋ค. ๋ฉํฐํญ์ ์๋ฆฌ๊ฐ ์๊ฑฐ๋, ์ด๋ฏธ ๊ฝํ์์ ๋๋ ๊ณ ๋ คํ ๊ฒ ์์ด ๊ทธ๋ฅ ๊ฝ๊ฑฐ๋ ๋์ด๊ฐ๋ฉด ๋์ง๋ง ์๋ฆฌ๊ฐ ์์๋ ๊ณ ๋ คํด์ผ ๋ ๊ฒฝ์ฐ์ ์๊ฐ ์๋ค. ๊ฒฝ์ฐ์ ์๋ฅผ ์ ๋ฆฌํด ๋ณด๋ฉด ๋ค์๊ณผ ๊ฐ๋ค. ๋ฉํฐํญ์ ์๋ฆฌ๊ฐ ์๋ ๊ฒฝ์ฐ ์ด๋ฏธ ๋ฉํฐํญ์ ๊ฝํ ์๋ ๊ฒฝ์ฐ ๋ฉํฐํญ์ ์๋ฆฌ๊ฐ ์๋ ๊ฒฝ์ฐ 3.1. ์ฌ์ฉํ์ง ์์ ์ ์๊ธฐ๊ธฐ๊ฐ ๊ฝํ ์๋ ๊ฒฝ์ฐ 3.2. ๋ชจ๋ ์ ์๊ธฐ๊ธฐ๊ฐ ๋ค์ ์ฌ์ฉํ ์ ์๊ธฐ๊ธฐ์ธ ๊ฒฝ์ฐ ์ฌ์ฉํ์ง ์์ ์ ์๊ธฐ๊ธฐ๊ฐ ๊ฝํ ์์ผ๋ฉด ๊ทธ ์ ์๊ธฐ๊ธฐ๋ฅผ ์ ๊ฑฐํ๊ณ ์๋ก์ด ์ ์๊ธฐ๊ธฐ๋ฅผ ๊ฝ์ผ๋ฉด ํด๊ฒฐ๋๋ค. ๋ชจ๋ ์ ์๊ธฐ๊ธฐ๊ฐ ๋ค์ ์ฌ์ฉํ ์ ์๊ธฐ๊ธฐ์ธ ๊ฒฝ์ฐ ์ฐ์ ์์๋ฅผ.. ๋๋ณด๊ธฐ [Algorithm/Java][๋ฐฑ์ค] 1062๋ฒ ๊ฐ๋ฅด์นจ [BOJ] 1062๋ฒ ๊ฐ๋ฅด์นจ https://www.acmicpc.net/problem/1062 ๋ฌธ์ ์ ๊ทผ ๋ฐฑํธ๋ํน์ ์ด์ฉํด์ ๋ชจ๋ ๊ฒฝ์ฐ์ ์๋ฅผ ํ์ํด๋ณด๋ ๋ฌธ์ ์๋ค. ์๊ฐ ๋ณต์ก๋๋ฅผ ์ค์ด๊ธฐ ์ํด์ ๋ชจ๋ ๋จ์ด๊ฐ ํฌํจํ๋ anta, tica ์ ํฌํจ๋ 5๊ฐ์ ๋จ์ด๋ฅผ ํ์ ๋จ์ด๋ก ํฌํจ์ํค๊ณ , ๊ณต๋ฐฑ์ผ๋ก ๋ฐ๊ฟ์ฃผ์ด์ ํ์ํด์ผ ํ๋ ๋จ์ด์ ๊ธธ์ด๋ฅผ ์ค์๊ณ , ๋ฐฐ์ธ ์ ์๋ ๋จ์ด๊ฐ 5๊ฐ ๋ณด๋ค ์ ์๋ 0, 26๊ฐ ์ผ ๋ ๋ชจ๋ ๋จ์ด๋ฅผ ๋ฐฐ์ธ ์ ์์ผ๋ฏ๋ก n์ ์ถ๋ ฅํ๋ค. ๋ฐฑํธ๋ํน์ ํ ๋๋ a~z๊น์ง ์์ฐจ์ ์ผ๋ก ํ์ตํ๊ธฐ ๋๋ฌธ์ ์์ ์ธ๋ฑ์ค๋ฅผ ๋งค๊ฐ๋ณ์๋ก ์ถ๊ฐํด์ ์ด๋ฏธ ์ง๋๊ฐ ๊ณณ์ ํ์ํ์ง ์๋๋ก ํ๋ค. Code import java.io.BufferedReader; import java.io.IOException; import jav.. ๋๋ณด๊ธฐ [Algorithm/Java][๋ฐฑ์ค] 2504๋ฒ ๊ดํธ์ ๊ฐ [BOJ] 2504๋ฒ ๊ดํธ์ ๊ฐ https://www.acmicpc.net/problem/2504 ๋ฌธ์ ์ ๊ทผ Stack์ ์ด์ฉํด์ ์ด๋ฆฐ ๊ดํธ๋ฅผ ์ ์ฅํ๊ณ , ๊ดํธ๊ฐ ๋ซํ ๋ X๊ฐ์ ๋ค์ ์คํ์ ์ ์ฅํ๋ค. ๊ดํธ ์์ ์ซ์๊ฐ ์์ผ๋ฉด ๊ทธ ์ซ์๋ค์ ๋ค ๋ํด์ ํด๋น ๊ดํธ ๊ฐ์ ๊ณฑํด์ฃผ์๋ค. ๊ทธ๋ฆฌ๊ณ ์คํ์ Character ์๋ฃํ์ผ๋ก ํ๋ฉด ๊ดํธ์ ์ซ์๋ฅผ ๊ตฌ๋ถํ์ง ๋ชปํ๊ธฐ ๋๋ฌธ์, String์ผ๋ก ํด์ ์ด ๊ฒฝ์ฐ๋ฅผ ํด๊ฒฐํ๋ค. ์ฝ๋๊ฐ ๋๋ฌด ๋ณต์กํ๊ณ ์ฌ๋ฐ๋ฅธ ๊ดํธ๊ฐ ์๋๊ฒ์ ๊ฒ์ฌํ๊ธฐ๊ฐ ๊น๋ค๋ก์ ๋ค... Code import java.util.Scanner; import java.util.Stack; public class BOJ2504 { public static void main(String[] args) { Scanner sc .. ๋๋ณด๊ธฐ [Algorithm/Java][๋ฐฑ์ค] 1987๋ฒ ์ํ๋ฒณ [BOJ] 1987๋ฒ ์ํ๋ฒณ https://www.acmicpc.net/problem/1987 ๋ฌธ์ ์ ๊ทผ ๊ฐ๋ก R, ์ธ๋ก C๋ก ๋ ๋ณด๋์ ๋๋ฌธ์ ์ํ๋ฒณ์ด ์ ํ์๊ณ , ๊ฐ์ฅ ์ผ์ชฝ ์๋ถํฐ ์ํ๋ฒณ ๋น ํ๋ฒ์ฉ๋ง ๋ฐฉ๋ฌธํด์ ๊ฐ์ฅ ๋ฉ๋ฆฌ ๊ฐ ์ ์๋ ๊ธธ์ด๋ฅผ ๊ตฌํ๋ ๋ฌธ์ ์ด๋ค. ์ฒ์์๋ ์๋ฌด์๊ฐ ์์ด bfs๋ก ํ๋ค๊ฐ ์๊ฐํด๋ณด๋๊น dfs๊ฐ ๋ ๋ง๋ ๊ฒ ๊ฐ์์ ๋ฐฉํฅ์ ํ์๋ค. ์ฒ์์๋ ๋ณด๋์ ๋ฐฉ๋ฌธ ์ฌ๋ถ๋ฅผ ์ ์ฅํ๋ isVisited์ ์ํ๋ฒณ ๋ฐฉ๋ฌธ ์ฌ๋ถ๋ฅผ ์ ์ฅํ๋ alphabetVisited๋ฅผ ์ฌ์ฉํ๋ ค ํ๋๋ฐ, ์๊ฐํด๋ณด๋๊น ํ๋ฒ ๋ฐฉ๋ฌธํ ์ํ๋ฒณ์ ๋ฐฉ๋ฌธํ์ง ๋ชปํ๋๊น ๋ณด๋์ ๋ฐฉ๋ฌธ์ฌ๋ถ๋ฅผ ์ ์ฅํ ํ์๊ฐ ์๊ณ , ๊ฒฝ๋ก๋ฅผ String์ผ๋ก ๊ณ์ ์ถ๊ฐํด๊ฐ๋ฉด์ ํ๋ฉด ์ํ๋ฒณ ๋ฐฉ๋ฌธ ์ฌ๋ถ๋ ๋ฐ๋ก ์ ์ฅํ์ง ์์๋ ๋ ๊ฒ ๊ฐ์์ dfs์ ๊ฐ๋ ค๋ x,y์ ์ง๊ธ.. ๋๋ณด๊ธฐ [Algorithm/Java][๋ฐฑ์ค] 2467๋ฒ ์ฉ์ก [BOJ] 2467๋ฒ ์ฉ์ก https://www.acmicpc.net/problem/2467 ๋ฌธ์ ์ ๊ทผ ์ฉ์ก์ ๊ฐ๋ค์ด ์ ๋ ฌ์ด ๋์ด์์ด์ left์ right๋ฅผ ์ด์ฉํด์ ์ด๋ถ ํ์ ๋ฐฉ์์ผ๋ก ์ ๊ทผํ๋ค. ์ ๋๊ฐ์ ์ด์ฉํด์ ์ ๋๊ฐ์ด ๋ฎ์ ๊ฒฝ์ฐ๋ฅผ ์ ์ฅํด๋๊ณ , sum์ด 0์ผ ๋ breakํ๊ณ , sum์ด 0๋ณด๋ค ์์ ๋๋ left ์ธ๋ฑ์ค๋ฅผ +1 ํด์ฃผ๊ณ , sum์ด 0๋ณด๋ค ํฌ๋ฉด right ์ธ๋ฑ์ค๋ฅผ -1ํด์ 0์ ๊ฐ๊น์ด ๊ฐ์ ์ฐพ์๋ค. Code import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; public class BOJ2467 { public s.. ๋๋ณด๊ธฐ [Algorithm/Java][๋ฐฑ์ค] 12852๋ฒ 1๋ก ๋ง๋ค๊ธฐ 2 [BOJ] 12852๋ฒ 1๋ก ๋ง๋ค๊ธฐ 2 https://www.acmicpc.net/problem/12852 ์ ๊ทผ ๋ฐฉ๋ฒ ์ฒ์์๋ dfs ๋ฐฉ๋ฒ์ผ๋ก ์ฌ๊ท ํจ์๋ฅผ ์ด์ฉํด์ ์ ๊ทผ์ ํ๋๋ฐ ์๊ฐ ์ด๊ณผ๊ฐ ๋์ dp ๋ฐฉ์์ผ๋ก ์ ๊ทผ ๋ฐฉ๋ฒ์ ๋ฐ๊พธ์๋ค. dp[i]๋ฅผ ์ฐ์ dp[i-1] +1๋ก ํ๊ณ , 2๋ก ๋๋์ด์ง ๋์, 3์ผ๋ก ๋๋์ด์ง ๋ dp[i/2] + 1๊ณผ dp[i/3] + 1์ ๋น๊ตํด์ ๊ฐ์ฅ ์์ ๊ฐ์ dp[i]๋ก ๊ฒฐ์ ํ์๋ค. i๋ 2๋ถํฐ n๊น์ง ๋ฐ๋ณตํด์ dp[n]์ผ ๋ ์ต์๊ฐ์ ๊ตฌํ์๊ณ ๋ง๋๋ ์ ์ฐจ๋ฅผ ์ถ๋ ฅํ๊ธฐ ์ํด์ ์์ ํ๋ ๋ฐฉ์์ ๊ฑฐ๊พธ๋ก ํด์ ์ถ๋ ฅํด์ฃผ์๋ค. Code import java.util.Scanner; public class BOJ12852 { public static void main(String[].. ๋๋ณด๊ธฐ [Algorithm/Java][ํ๋ก๊ทธ๋๋จธ์ค] ๋จ์ฒด์ฌ์ง ์ฐ๊ธฐ [ํ๋ก๊ทธ๋๋จธ์ค] ๋จ์ฒด์ฌ์ง ์ฐ๊ธฐ https://programmers.co.kr/learn/courses/30/lessons/1835 ์ ๊ทผ ๋ฐฉ๋ฒ ์ฒ์์ ์ด๋ป๊ฒ ์ ๊ทผํ๋์ง ๋ชจ๋ฅด๊ฒ ์ด์ ์นด์นด์ค ๊ธฐ์ ๋ธ๋ก๊ทธ์ ๋ค์ด๊ฐ์ ํด์ค์ ๋ดค๋๋ฐ ๋ชจ๋ ๊ฒฝ์ฐ๋ฅผ ๋ค ์ธ์๋ณด๊ณ ๊ทธ ์ค์ ์กฐ๊ฑด์ ๋ง์กฑํ๋์ง๋ฅผ ๊ฒ์ฌํ๋ ๋ฐฉ๋ฒ์ด์๋ค. dfs๋ฅผ ์ด์ฉํด์ ๋ชจ๋ ๊ฒฝ์ฐ์ ์ค์ ์ธ์๋ณด๊ณ check ํจ์๋ฅผ ์ด์ฉํด์ ์กฐ๊ฑด์ ๋ง์กฑํ๋์ง ๊ฒ์ฌํด์ ๊ฒฝ์ฐ์ ์๋ฅผ ์ ๋ค. Code import java.util.HashMap; class Solution { public int answer = 0; public boolean[] visited = new boolean[8]; String[] friends = {"A", "C", "F", "J", "M", "N", "R.. ๋๋ณด๊ธฐ ์ด์ 1 2 3 4 5 ยทยทยท 9 ๋ค์