Algorithm ์ธ๋ค์ผํ ๋ฆฌ์คํธํ [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.. ๋๋ณด๊ธฐ [Algorithm/Java][๋ฐฑ์ค] 1918 ํ์ ํ๊ธฐ์ [BOJ] 1918 ํ์ ํ๊ธฐ์ https://www.acmicpc.net/problem/1918 ๋ฌธ์ ์ ๊ทผ ์ ๋ ฅ๋ฐ์ String์ char ๋ฐฐ์ด๋ก ๋ณํํํ ํ๋์ฉ ์ ๊ทผํด์ ์ฐ์ฐ์๋ Stack์ ์ด์ฉํด ์ฒ๋ฆฌํ๊ณ StringBuilder์ append๋ฅผ ์ด์ฉํด์ ์ด์ด ๋ถ์ฌ์ฃผ์๋ค. ์ค์ํ๊ธฐ์์์ ํ์ํ๊ธฐ์์ผ๋ก ๋ณํํ ๋, Stack์ ์ด์ฉํ๋๋ฐ ํ์ฌ ์ฐ์ฐ์๋ณด๋ค stack์ top์ ์๋ ์ฐ์ฐ์์ ์ฐ์ ์์๊ฐ ๋๋ค๋ฉด postfix์ ์ถ๊ฐํด์ค๋ค. '*'์ '/'๋ฅผ 2, '+' ์ '-'๋ฅผ 1, '('์ 0์ผ๋ก ์ค์ ํด์ ์์ ๋ฐฉ์์ ๊ฐ๋ฅํ๋๋ก ํ๋ค. ์ ๋ ฅ์ ๋ฐ์์ 4๊ฐ์ง ๊ฒฝ์ฐ๋ก ๋๋์ด์ ์ฒ๋ฆฌ๋ฅผ ํ์๋ค. 1.A~Z ์ฌ์ด์ ํผ์ฐ์ฐ์์ผ ๊ฒฝ์ฐ postfix์ ์ถ๊ฐํ๋ค. 2.'('์ธ ๊ฒฝ์ฐ Stack์ pushํ๋ค. 3.').. ๋๋ณด๊ธฐ [Algorithm/Java][๋ฐฑ์ค] 1865 ์ํ [BOJ] 1865 ์ํ https://www.acmicpc.net/problem/1865 ๋ฌธ์ ์ ๊ทผ ๋ฒจ๋ง ํฌ๋ ์๊ณ ๋ฆฌ์ฆ์ ๋ค์๊ณผ ๊ฐ๋ค. 1.์์ ๋ ธ๋๋ฅผ ์ค์ ํ๋ค. 2.์ต๋จ ๊ฒฝ๋ก ํ ์ด๋ธ(๋ฐฐ์ด)์ ์ด๊ธฐํํ๋ค. 3.(์ ์ ์ ๊ฐ์-1)๋ฒ๋์ ๋ชจ๋ ๊ฐ์ ์ ํ์ํ์ฌ ์ต๋จ ๊ฒฝ๋ก ํ ์ด๋ธ์ ๊ฐฑ์ ํ๋ค. ์ฌ๊ธฐ์ ์์ ์ํ์ด ๋ฐ์ํ๋์ง ์๊ณ ์ถ๋ค๋ฉด ํ๋ฒ ๋ ๋ชจ๋ ๊ฐ์ ์ ๋ํด์ ํ์์ ํ๊ณ ์ด๋, ์ต๋จ ๊ฒฝ๋ก ํ ์ด๋ธ์ด ๊ฐฑ์ ์ด ๋๋ค๋ฉด ์์ ์ํ์ด ๋ฐ์ํ ๊ฒ์ด๋ค. ์ด ๋ฌธ์ ๋ ๋ชจ๋ ๋ ธ๋๋ฅผ ์์ ๋ ธ๋๋ฅผ ์ค์ ํ ํ์๊ฐ ์์ด ์์ ์ํ์ด ์๋์ง ์๋์ง๋ง ์ฒดํฌํ๋ฉด ๋๊ธฐ๋๋ฌธ์ 1๋ฒ ๋ ธ๋์ ๋ํด์๋ง ๋ฒจ๋ง ํฌ๋ ์๊ณ ๋ฆฌ์ฆ์ ์ํํ๊ณ ์ด๋, ์์ ์ํ์ด ๋ฐ์ํ๋์ง ์๋์ง๋ฅผ ๊ฒ์ฌํ์๋ค. Code import java.io.BufferedReader; .. ๋๋ณด๊ธฐ [Algorithm/Java][ํ๋ก๊ทธ๋๋จธ์ค] ํ๊ฒ ๋๋ฒ [ํ๋ก๊ทธ๋๋จธ์ค] ํ๊ฒ ๋๋ฒ https://programmers.co.kr/learn/courses/30/lessons/43165 ๋ฌธ์ ์ ๊ทผ dfs๋ฅผ ์ด์ฉํด์ numbers[0] ๋ถํฐ numbers[numbers.length-1]๊น์ง ๋ชจ๋ ์ซ์ ์๋ํด์ +,-ํ ๊ฒฝ์ฐ๋ฅผ ํ์ํด์ target์ด ๋๋ ๊ฒฝ์ฐ์ ์๋ฅผ ๊ตฌํ๋ค. Code class Solution { int answer; int[] nums; public int solution(int[] numbers, int target) { answer = 0; nums = numbers; dfs(0, 0, target); return answer; } public void dfs(int num, int cnt, int target){ if(cnt == nums... ๋๋ณด๊ธฐ [Algorithm/Java][ํ๋ก๊ทธ๋๋จธ์ค] ๋ค์ ํฐ ์ซ์ [ํ๋ก๊ทธ๋๋จธ์ค] ๋ค์ ํฐ ์ซ์ https://programmers.co.kr/learn/courses/30/lessons/12911 ๋ฌธ์ ์ ๊ทผ ์ฒ์์ ์ ๊ทผํ ๋๋ Integer.toBinaryString() ํจ์๋ฅผ ์ด์ฉํด์ stringํํ์ 2์ง์๋ก ๋ณํํ ํ 1์ ๊ฐ์๋ฅผ ์ธ๊ณ , n+1๋ถํฐ 1์ ๊ฐ์๊ฐ ๊ฐ์ ๋๊น์ง while๋ฌธ์ ๋๋ ธ๋ค. ๋ค ํ๊ณ ๋ค๋ฅธ ์ฌ๋์ ํ์ด๋ฅผ ๋ณด๋๊น Integer.countBit()๋ฅผ ์ด์ฉํ๋ฉด 1์ ๊ฐ์๋ฅผ ๋ฐํํด์ฃผ๋ ํจ์๊ฐ ์์ด์ ๋ ์ฝ๊ฒ ํ์๋ค. Code Integer.toBinaryString()์ด์ฉํ ํ์ด class Solution { public int solution(int n) { String binaryNum = Integer.toBinaryString(n); int .. ๋๋ณด๊ธฐ [Algorithm/Java][๋ฐฑ์ค] 1167 ํธ๋ฆฌ์ ์ง๋ฆ [BOJ] 1167 ํธ๋ฆฌ์ ์ง๋ฆ https://www.acmicpc.net/problem/1167 ๋ฌธ์ ์ ๊ทผ ์ด ๋ฌธ์ ๋ ์๋ ๋ฌธ์ ์ ๊ฑฐ์ ๋๊ฐ์ ๋ฌธ์ ์ด๋ค. ํธ๋ฆฌ๋ฅผ ์ ๋ ฅํด์ฃผ๋ ๋ฐฉ์๋ง ๋ค๋ฅด๊ณ ์๊ณ ๋ฆฌ์ฆ์ ๋๊ฐ์ ๋ฌธ์ ์ฌ์ ์ฝ๊ฒ ํ ์ ์์๋ค. 1967 ํธ๋ฆฌ์ ์ง๋ฆ Code import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.StringTokenizer; public class BOJ1167 { static class Node{ int to; int dist; public Node(int to, int dist) { th.. ๋๋ณด๊ธฐ ์ด์ 1 2 3 4 5 6 ยทยทยท 9 ๋ค์