๋ชฉ๋ก์ ์ฒด ๊ธ (244)
๐ท๐ผ๋ชจ์ฌ๋ด์ ๊ฐ๋ฐ์์ฒ๐ท๐ผ
์ค์ ๊น์ง ๋ฉ์ฉกํ๋ ์ดํด๋ฆฝ์ค์ ์ฝ์์ ์คํ๋ถํฐ ์๋ฌ๋ค์ด ๋จ๊ธฐ ์์ํ๋ค. ์ฝ์ ์๋ฌ๋ก๊ทธ์ ์ฒซ๋ฒ์งธ๋ก Cannot find class [egovframework.com.cmm.EgovComExcepHndlr] for bean with name 'egovHandler' defined in file ์ด ๋ฌธ์ฅ์ด ์ฐํ๋ค ๊ตฌ๊ธ๋ง ํด๋ณด๋ c๋๋ผ์ด๋ธ์ user/.m2 ๋ ํ์งํ ๋ฆฌ์ ๋ฉ์ด๋ธ์ด ์ธ์คํจ ๋์ด์์ง ์์์ ๊ทธ๋ ๋ค๊ณ ํ๋ค. ๋, ๋๋ ์ ์์ ๋ถํ๋ ์์ํฌ๋ฅผ ์ฌ์ฉํ๊ณ ์๊ธฐ ๋๋ฌธ์ eGovFrame ํฌํธ์ ๊ธฐ์ ์ง์ ๋ฌป๊ณ ๋ตํ๊ธฐ์์ ์ฐพ์๋ณด์๋๋ฐ ๋ต์ ํ๋ก์ ํธ ์ฐํด๋ฆญ > Maven > Update Project๋ฅผ ์ ํํ์๊ณ Force Update ~~~์ ์ฒดํฌํ OK์ ํํ์ฌ ์ ์ฅ์๋ฅผ ์ด๊ธฐํํ์ ์ฌ๊ธฐ๋ํด ๋ณด์๊ธฐ ๋ฐ๋๋๋ค. ์๋ค.....
๋ฌธ์ ์ค๋ช ์๋ง์ ๋ง๋ผํค ์ ์๋ค์ด ๋ง๋ผํค์ ์ฐธ์ฌํ์์ต๋๋ค. ๋จ ํ ๋ช ์ ์ ์๋ฅผ ์ ์ธํ๊ณ ๋ ๋ชจ๋ ์ ์๊ฐ ๋ง๋ผํค์ ์์ฃผํ์์ต๋๋ค. ๋ง๋ผํค์ ์ฐธ์ฌํ ์ ์๋ค์ ์ด๋ฆ์ด ๋ด๊ธด ๋ฐฐ์ด participant์ ์์ฃผํ ์ ์๋ค์ ์ด๋ฆ์ด ๋ด๊ธด ๋ฐฐ์ด completion์ด ์ฃผ์ด์ง ๋, ์์ฃผํ์ง ๋ชปํ ์ ์์ ์ด๋ฆ์ return ํ๋๋ก solution ํจ์๋ฅผ ์์ฑํด์ฃผ์ธ์. ์ ํ์ฌํญ ๋ง๋ผํค ๊ฒฝ๊ธฐ์ ์ฐธ์ฌํ ์ ์์ ์๋ 1๋ช ์ด์ 100,000๋ช ์ดํ์ ๋๋ค. completion์ ๊ธธ์ด๋ participant์ ๊ธธ์ด๋ณด๋ค 1 ์์ต๋๋ค. ์ฐธ๊ฐ์์ ์ด๋ฆ์ 1๊ฐ ์ด์ 20๊ฐ ์ดํ์ ์ํ๋ฒณ ์๋ฌธ์๋ก ์ด๋ฃจ์ด์ ธ ์์ต๋๋ค. ์ฐธ๊ฐ์ ์ค์๋ ๋๋ช ์ด์ธ์ด ์์ ์ ์์ต๋๋ค. ์ ์ถ๋ ฅ ์ participantcompletionreturn ["leo", "kiki"..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cA7h8V/btrgDTSRny9/ikkgoaYjet1TpnThpabx00/img.png)
import java.util.*; public class Main { public int[] solution(String s, char t){ int[] answer = new int[s.length()]; int p = 1000; // ์ผ์ชฝ ๋ฌธ์ t์์ ๋ถํฐ์ ๊ฑฐ๋ฆฌ๋ฅผ ์ ์ฅ for(int i=0; i=0; i--){ if(s.charAt(i) == t){ p = 0; }else{ p ++; answer[i] = Math.min(answer[i], p); } } return answer; } public static void main(String[] args) { Main main = new Main(); Scanner in = new Scanner(System.in); String str = in.ne..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/HToX3/btraXSx3nQ1/ukkHe7FE3gqkZszPlZ7XG1/img.png)
๋ค์ ๊ทธ๋ํ์์ 1๋ฒ ์ ์ ์์ ๊ฐ ์ ์ ์ผ๋ก ๊ฐ๋ ์ต์ ์ด๋ ๊ฐ์ ์๋ฅผ ์ถ๋ ฅํ์ธ์. ์ ๋ ฅ์ค๋ช ์ฒซ์งธ ์ค์๋ ์ ์ ์ ์ N(1
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/eEdprR/btra10JDTNT/zfqjX9KtkcbhiXwNA1TE20/img.png)
๊ฒฝ๋กํ์ ์ ์ ์ ์ด ๋ง์์ง๋ฉด ArrayList๋ก ๊ตฌํํด์ผํ๋ค ์ค๋ช ๋ฐฉํฅ๊ทธ๋ํ๊ฐ ์ฃผ์ด์ง๋ฉด 1๋ฒ ์ ์ ์์ N๋ฒ ์ ์ ์ผ๋ก ๊ฐ๋ ๋ชจ๋ ๊ฒฝ๋ก์ ๊ฐ์ง ์๋ฅผ ์ถ๋ ฅํ๋ ํ ๋ก๊ทธ๋จ์ ์์ฑํ์ธ์. ์๋ ๊ทธ๋ํ์์ 1๋ฒ ์ ์ ์์ 5๋ฒ ์ ์ ์ผ๋ก ๊ฐ๋ ๊ฐ์ง ์๋ 1 2 3 4 5 1 2 5 1 3 4 2 5 1 3 4 5 1 4 2 5 1 4 5 ์ด 6 ๊ฐ์ง์ ๋๋ค. ์ ๋ ฅ์ค๋ช ์ฒซ์งธ ์ค์๋ ์ ์ ์ ์ N(1
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/lIuR4/btraZMLCwDF/PBylJaIejiNcFvRirTnqF0/img.png)
์ค๋ช ๋ฐฉํฅ๊ทธ๋ํ๊ฐ ์ฃผ์ด์ง๋ฉด 1๋ฒ ์ ์ ์์ N๋ฒ ์ ์ ์ผ๋ก ๊ฐ๋ ๋ชจ๋ ๊ฒฝ๋ก์ ๊ฐ์ง ์๋ฅผ ์ถ๋ ฅํ๋ ํ ๋ก๊ทธ๋จ์ ์์ฑํ์ธ์. ์๋ ๊ทธ๋ํ์์ 1๋ฒ ์ ์ ์์ 5๋ฒ ์ ์ ์ผ๋ก ๊ฐ๋ ๊ฐ์ง ์๋ 1 2 3 4 5 1 2 5 1 3 4 2 5 1 3 4 5 1 4 2 5 1 4 5 ์ด 6 ๊ฐ์ง์ ๋๋ค. ์ ๋ ฅ์ค๋ช ์ฒซ์งธ ์ค์๋ ์ ์ ์ ์ N(1
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/pVwuc/btra1ZJZdaP/5jkAFw0XQZzU1wCE7VE2JK/img.png)
๊ทธ๋ํ๋ฅผ ํํํ ๋๋ ๊ธฐ๋ณธ์ ์ผ๋ก G(V, E)๋ฅผ ์ฌ์ฉํฉ๋๋ค. Graph(vertice, Edge) ๊ทธ๋ํ๋? ๊ทธ๋ํ๋ ์ ์ ๊ณผ ๊ฐ์ ์ผ๋ก ์ด๋ฃจ์ด์ง ์๋ฃ๊ตฌ์กฐ์ ๋๋ค. ์ ํํ๋ ์ ์ (Vertex)๊ฐ์ ๊ด๊ณ๋ฅผ ํํํ๋ ์กฐ์ง๋๋ผ๊ณ ๋ณผ์๋ ์๊ฒ ์ต๋๋ค. ๊ทธ๋ฐ๋ฉด์์ ํธ๋ฆฌ๋ ๊ทธ๋ํ์ ์ผ์ข ์ธ ์ ์ ๋๋ค. ๋ค๋ง ํธ๋ฆฌ์๋ ๋ฌ๋ฆฌ ๊ทธ๋ํ๋ ์ ์ ๋ง๋ค ๊ฐ์ ์ด ์์์๋ ์๊ณ ์์์๋ ์์ผ๋ฉฐ ๋ฃจํธ ๋ ธ๋, ๋ถ๋ชจ์ ์์์ด๋ผ๋ ๊ฐ๋ ์ด ์กด์ฌํ์ง ์์ต๋๋ค. ๋ํ ๊ทธ๋ํ๋ ๋คํธ์ํฌ ๋ชจ๋ธ ์ฆ, ๊ฐ์ฒด์ ์ด์ ๋ํ ๊ด๊ณ๋ฅผ ๋ํ๋ด๋ ์ ์ฐํ ๋ฐฉ์์ผ๋ก ์ดํดํ ์ ์์ต๋๋ค. ์ค์ํ์์ ๋ค์ํ ์๋ฅผ ๊ทธ๋ํ๋ก ํํํ ์ ์์ต๋๋ค. ๋ํ์ ์ผ๋ก ์งํ์ฒ ๋ ธ์ ๋, ๋์ฌ์ ๋๋ก๋ฑ์ด ์์ต๋๋ค. ์ด๋ฐ์์ผ๋ก ํ์ฉํ ์ ์๋ ๋ฐฉ๋ฒ์ด ๋ง๊ธฐ์ ๋ฌธ์ ๋ ๋ค์ํ๊ฒ ์ถ์ ๋ฅผ ํ ์ ์์ต๋๋ค. ๊ทธ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cuyCl0/btraVpJQil8/GIwAZF14xRp7POJ8gQ5fvK/img.png)
์๋๋ BFS๋ก ํธ๋ ๋ฌธ์ ์ธ๋ฐ DFS๋ก๋ ํ์ด๋ณธ๋ค. 1. DFS import java.util.*; class Node{ int data; Node lt, rt; public Node(int val) { data = val; lt = rt = null; } } public class Main{ Node root; public int DFS(int Level, Node root) { if(root.lt == null && root.rt == null) { return Level; }else { return Math.min(DFS(Level+1, root.lt), DFS(Level+1, root.rt)); } } public static void main(String[] args) { Main tree = ..
์ค๋ช ํ์๋ ์ก์์ง๋ฅผ ์์ด๋ฒ๋ ธ๋ค. ๋คํํ ์ก์์ง์๋ ์์น์ถ์ ๊ธฐ๊ฐ ๋ฌ๋ ค ์๋ค. ํ์์ ์์น์ ์ก์์ง์ ์์น๊ฐ ์์ง์ ์์ ์ขํ ์ ์ผ๋ก ์ฃผ์ด์ง๋ฉด ํ์๋ ํ์ฌ ์์น์์ ์ก์์ง์ ์์น๊น์ง ๋ค์๊ณผ ๊ฐ์ ๋ฐฉ๋ฒ์ผ๋ก ์ด๋ํ๋ค. ์ก์์ง๋ ์์ง์ด์ง ์๊ณ ์ ์๋ฆฌ์ ์๋ค. ํ์๋ ์ค์นด์ด ์ฝฉ์ฝฉ์ ํ๊ณ ๊ฐ๋๋ฐ ํ ๋ฒ์ ์ ํ๋ก ์์ผ๋ก 1, ๋ค๋ก 1, ์์ผ๋ก 5๋ฅผ ์ด๋ํ ์ ์๋ค. ์ต์ ๋ช ๋ฒ์ ์ ํ๋ก ํ์๊ฐ ์ก์์ง์ ์์น๊น์ง ๊ฐ ์ ์๋์ง ๊ตฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์ธ์. ์ ๋ ฅ ์ฒซ ๋ฒ์งธ ์ค์ ํ์์ ์์น S์ ์ก์์ง์ ์์น E๊ฐ ์ฃผ์ด์ง๋ค. ์ง์ ์ ์ขํ ์ ์ 1๋ถํฐ 10,000๊น์ง์ด๋ค. ์ถ๋ ฅ ์ ํ์ ์ต์ํ์๋ฅผ ๊ตฌํ๋ค. ๋ต์ 1์ด์์ด๋ฉฐ ๋ฐ๋์ ์กด์ฌํฉ๋๋ค. ์์ ์ ๋ ฅ 1 5 14 ์์ ์ถ๋ ฅ 1 3 - 2022.01.25 ํ์ด import j..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/eoMItB/btraPtLJl2P/Tj0e6FcCMxxdHuBy9p5DY0/img.png)
Stack์ ์ฌ์ฉํ๋ DFS(๊น์ด์ฐ์ ํ์)๊ณผ ๋ค๋ฅด๊ฒ BFS(๋์ด์ฐ์ ํ์)์ Queue๋ฅผ ์ฌ์ฉํ๋ฉฐ ๊ฐ ๋ ธ๋ ์์น์๋ฐ๋ผ Level์ ์ ํ์ฌ ํ์ํ๋ค. import java.util.*; class Node{ int data; Node lt, rt; public Node(int val) { data = val; lt = rt = null; } } public class Main{ Node root; public void BFS(Node root) { Queue Q = new LinkedList(); Q.offer(root); int Level = 0; while(!Q.isEmpty()) { int len = Q.size(); System.out.print(Level + " : "); for(int i=0; i