java ์ธ๋ค์ผํ ๋ฆฌ์คํธํ [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.. ๋๋ณด๊ธฐ [Java] ์๋ฐ๋? ์๋ฐ๋? ์ฒ์๋ถํฐ ๊ฐ์ฒด ์งํฅ์ธ์ด๋ก ๊ฐ๋ฐ๋ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ด๋ค. ์๋ฐ ๊ฐ์ ๋จธ์ (JVM)์ ์ฌ์ฉํ์ฌ, ์ด์์ฒด์ ์๋ ๋ ๋ฆฝ์ ์ผ๋ก ๋์ํ ์ ์๋ค. ⇒ ์๋ฐ๋ ์ด๋ ์ด์์ฒด์ ์์๋ ๊ฐ์ ํ์ฑ๋ก ์คํ๋ ์ ์๋ค. ์ ์ธ๊ณ์์ ๊ฐ์ฅ ๋ง์ด ์ฌ์ฉํ๋ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด ์ค ํ๋์ด๋ค. https://www.tiobe.com/tiobe-index/ (TIOBE ์ธ์ด ์์ ) ์๋ฐ์ ํน์ง ์ฅ์ ์ด์์ฒด์ ์๋ ๋ ๋ฆฝ์ ์ผ๋ก ์คํํ ์ ์๋ค. ๋ถํ์ํ ๊ธฐ๋ฅ์ ๊ณผ๊ฐํ ์ ๊ฑฐํ์ฌ ๋ค๋ฅธ ์ธ์ด์ ๋นํด ๋ฐฐ์ฐ๊ธฐ๊ฐ ์ฝ๋ค. ์๋ ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ ๋ฑ์ ์ง์ํ์ฌ ๋ค๋ฅธ ์ธ์ด์ ๋นํด ์์ ์ฑ์ด ๋๋ค. ์ฐ์ฐ์ ์ค๋ฒ๋ก๋ฉ์ ๊ธ์งํ๊ณ ์ ๋ค๋ฆญ์ ๋์ ํจ์ผ๋ก์จ ์ฝ๋์ ๊ฐ๋ ์ฑ์ ๋์๋ค. ์๋ง์ ์ฐธ๊ณ ์๋ฃ๋ฅผ ์ฐพ์ ์ ์๋ค. ๋จ์ ์คํ์ ์ํด ์๋ฐ ๊ฐ์ ๋จธ์ ์ ๊ฑฐ์ณ์ผ ํ๋ฏ๋ก, ๋ค๋ฅธ .. ๋๋ณด๊ธฐ [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.. ๋๋ณด๊ธฐ [Algortihm/Java][ํ๋ก๊ทธ๋๋จธ์ค] ์คํ์ฑํ ๋ฐฉ [ํ๋ก๊ทธ๋๋จธ์ค] ์คํ์ฑํ ๋ฐฉ https://programmers.co.kr/learn/courses/30/lessons/42888 ๋ฌธ์ ์ ๊ทผ HashMap์ ์ด์ฉํด์ ์ ์ ์์ด๋์ ๋๋ค์์ ์ ์ฅํ๊ณ list์ ์ ์ ์์ด๋์ Enter or Leave๋ฅผ ์ ์ฅํ ํ์ ๋ฉ์ธ์ง๋ฅผ ์ถ๋ ฅํ ๋ ์ ์ ์์ด๋์ ๋๋ค์์ ๋งค์นญํด์ ๋ฉ์ธ์ง๋ฅผ ์์ฑํ์๋ค. Code import java.util.HashMap; import java.util.ArrayList; class Solution { public String[] solution(String[] records) { String[] answer; HashMap users = new HashMap(); ArrayList messages = new ArrayList(); for(.. ๋๋ณด๊ธฐ [Algorithm/Java][๋ฐฑ์ค] 2263 ํธ๋ฆฌ์ ์ํ [BOJ] 2263 ํธ๋ฆฌ์ ์ํ https://www.acmicpc.net/problem/2263 ๋ฌธ์ ์ ๊ทผ ์ธ์ค๋์ ํฌ์คํธ์ค๋ ์ํ๊ฐ ์ฃผ์ด์ก์ ๋ ํ๋ฆฌ์ค๋ ์ํ๋ฅผ ๊ตฌํ๋ ๋ฌธ์ ์ด๋ค. ํฌ์คํธ์ค๋์์๋ ํธ๋ฆฌ์ ์๋ธํธ๋ฆฌ์ ๋ฃจํธ๋ฅผ ๊ตฌํ ์ ์๊ณ , ์ธ์ค๋์์๋ ํฌ์คํธ์ค๋์์ ๊ตฌํ ๋ฃจํธ๋ฅผ ์ด์ฉํ์ฌ ์ผ์ชฝ ์๋ธํธ๋ฆฌ์ ์ค๋ฅธ์ชฝ ์๋ธํธ๋ฆฌ๋ฅผ ๊ตฌํ ์ ์๋ค. ์ด๋ฅผ ์ด์ฉํด์ ํ๋ฆฌ์ค๋ ์ํ๋ฅผ ๊ตฌํ์๋ค. Code import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class BOJ2263 { static int n,idx = 0; static int[] inorder, preorder, postorder; .. ๋๋ณด๊ธฐ [Algorithm/Java][ํ๋ก๊ทธ๋๋จธ์ค] ๋ฌธ์์ด ์์ถ [ํ๋ก๊ทธ๋๋จธ์ค] ๋ฌธ์์ด ์์ถ https://programmers.co.kr/learn/courses/30/lessons/60057 ๋ฌธ์ ์ ๊ทผ ๊ธด ๋ฌธ์์ด์ ๊ธธ์ด๋ฅผ ์ค์ด๊ธฐ์ํด์ ๋ฌธ์์ด์ n๊ฐ ๋จ์๋ก ์๋ผ์ ๊ฐ์ ๋ฌธ์์ด str์ด n๋ฒ ๋ฐ๋ณต๋๋ฉด nstr๋ก ํํํ์ฌ ์์ถํ๋ ๋ฌธ์ ์ด๋ค. compressString ํจ์๋ฅผ ๋ง๋ค์ด์ ์์ถํ๋ ค๋ ๋ฌธ์์ด s์ ์๋ฅด๋ ค๋ ๋ฌธ์์ด์ ๊ธธ์ด len์ ๋ฐ์์ s๋ฅผ len๋จ์๋ก ์๋ผ ์์ถํ ๋ฌธ์์ด์ ๊ธธ์ด๋ฅผ ๋ฐํํ๋๋ก ํ์๋ค. Code class Solution { public int solution(String s) { int answer = s.length(); for(int i = 1; is.length()){ cur = s.substring(i,s.length()); } else.. ๋๋ณด๊ธฐ ์ด์ 1 2 3 4 5 ยทยทยท 8 ๋ค์