๐ป Computer Science/- Data Structure, Algorithm147 [์๊ณ ๋ฆฌ์ฆ-PS] 1์ด์ ์๊ฐ๋์ CPU๊ฐ ์ฐ์ฐํ ์ ์๋ ํฌ๊ธฐ.(์๊ณ ๋ฆฌ์ฆ ๋ฌธ์ ํ์ด์ ์๊ฐ ๋ณต์ก๋ ๊ณ์ฐํ๋ ๋ฐฉ๋ฒ) PS๋ฅผ ํ๋ค ๋ณด๋ฉด ์ ๋ ฅ N์ ๋ํ ํฌ๊ธฐ์ ์๊ฐ ๋ณต์ก๋์ ๊ด๊ณ๋ฅผ ์ ์ ํ๊ฒ ์ ํ์ ํด์ผ ํด๋น ๋ฌธ์ ์ ์ด๋ค ์๊ณ ๋ฆฌ์ฆ์ด ์ ํฉํ ์ง๋ฅผ ์ ์ ์๋ค. ์ค๋์ ์๊ฐ ๋ณต์ก๋์ ์ธ์ธํ ๋ด์ฉ๋ณด๋ค๋ ์ค์ PS ํํธ ์ด๋ฏ๋ก PS์์ ์๊ฐ ๋ณต์ก๋๊ฐ ์ด๋ป๊ฒ ๊ณ์ฐ ๋๋์ง ์ ๋ฆฌ๋ฅผ ํด ๋ณด๊ฒ ๋ค. ์๋ ๋ฐฑ์ค์ ๋ฌธ์ ์ค ์ผ๋ถ๋ฅผ ๋ฐ์ท ํ๋๋ฐ, ์์ ๋ฌธ์ ์์ ์ด๋ค ๋ฐฉ์์ผ๋ก ์๊ฐ ๋ณต์ก๋๊ฐ ๊ณ์ฐ ๋๋์ง ๋ง ํด๋ณด๊ฒ ๋ค. CPU์ 1์ด๊ฐ ์ฐ์ฐ ์๋ Cpu๋ 1์ด๊ฐ ์ฝ 1์ต์ ์๋ฅผ ์ฐ์ฐํ ์ ์๋ค๊ณ ๊ฐ์ ํ๊ณ ๋ฌธ์ ๋ฅผ ์ ๊ทผํ๋ ๊ฒ์ด ์ข๋ค. ๊ทธ๋ฆฌ๊ณ ์ ๋ ฅ N์ ๋ํด์ ์๊ฐ ๋ณต์ก๋๊ฐ O(n) ์ด๋ผ๋ฉด ์ ๋ ฅ N์ 0 2020. 3. 20. [์๊ณ ๋ฆฌ์ฆ-์ด๋ก ]๊ทธ๋ํ์ ๊ฒ์ ์๊ณ ๋ฆฌ์ฆ - DFS(Stack)์ BFS(Queue) ๊ทธ๋ํ ์๋ฃ๊ตฌ์กฐ์์ ๋ ธ๋์ Data๋ฅผ ๊ฒ์ํ๋ ๋ฐฉ๋ฒ์๋ ์ฌ๋ฌ ๋ฐฉ๋ฒ์ด ์๊ฒ ์ง๋ง ๋ํ์ ์ธ DFS, BFS๋ฅผ ํ์ตํด๋ณด์. ๊ทธ๋ํ ๊ทธ๋ํ๋? ์์ ๊ฐ์ ๋ชจ์ต์ผ๋ก ๋ ธ๋๋ค ๊ฐ์ ๊ด๊ณ๋ฅผ ๊ฐ์ ์ผ๋ก ์ฐ๊ฒฐ ํน์ ๋น์ฐ๊ฒฐ ๋์ด์๋ ์๋ฃ๊ตฌ์กฐ ์ด๋ค. ์ง๊ธ์ ์๋ฃ๊ตฌ์กฐ์ ๋ํ ์ค๋ช ์ ํ๋ ์๊ฐ์ด ์๋๋ฏ๋ก ๋์ด๊ฐ์ ๋ฐ๋ก ๊ทธ๋ํ์ ๊ฒ์ ์๊ณ ๋ฆฌ์ฆ์ ์์๋ณด์. Depth-First-Search(DFS) ๊น์ด ์ฐ์ ๊ฒ์์ธ DFS๋ Inorder Preorder* Postorder ๊ณผ ๊ฐ์ ๊ฒ๋ค์ด ํฌํจ๋๋ฉฐ ์์ ๋ ธ๋์์๋ถํฐ ํด๋น ๋ ธ๋์ ์์ ๋ ธ๋๋ก ๋๊น์ง ๋ด๋ ค๊ฐ๋ฉฐ ๊ฒ์ํ๋ ๋ฐฉ์์ ๋ปํ๋ค. Breath-First-Search(BFS) ๋์ด ์ฐ์ ๊ฒ์์ธ BFS๋ ์์ ๋ ธ๋์์ ์์ ์ ํ์ ๋ ธ๋ (Level) ๋จ์๋ก ๊ฒ์ํ๋ ๋ฐฉ๋ฒ์ ๋ปํ๋ค. DFS์.. 2020. 3. 1. [์๊ณ ๋ฆฌ์ฆ-๋ฐฑ์ค(DP)] ๋ฐฑ์ค 2748(DP), 10870(Recursive) ํผ๋ณด๋์น์ ์ ์ฐจ์ด ์ด๋ฒ ํฌ์คํ ์์ ๋์ ํ๋ก๊ทธ๋๋ฐ(DP, ๋์ ๊ณํ๋ฒ, ๋ฉ๋ชจ์ด์ ์ด์ ํ์ด) ์ ๋ํ ๊ฐ๋จํ ์ ์์ ๋ฌธ์ ํ์ด๋ฅผ ํด๋ณผ ๊ฒ์ด๋ค ๋์ ๊ณํ๋ฒ์ ๋ํ ๊น์ ์ดํด์ ์ด๋ก ์ ์ค๋ช ์ ์ถํ์ ์๊ณ ๋ฆฌ์ฆ ์ด๋ก ์์ ๋ค๋ฃจ๊ธฐ๋ก ํ๊ฒ ๋ค. ๋์ ๊ณํ๋ฒ์ด๋? ํผ๋ณด๋์น ์์ด์ ๋์ ๊ณํ๋ฒ์ ํํ์ ํ๊ณค ํ๋ค. ๋์ ํ๋ก๊ทธ๋๋ฐ์ ํฐ ๋ฌธ์ ๋ฅผ ์์ ๋ฌธ์ ๋ก ๋๋์ด ํด๊ฒฐํ๋ ค๋ ๋ฌธ์ฌ ํด๊ฒฐ ์ ๋ต์ด๋ค. ์ด๋ ๋ถํ ์ ๋ณต๊ณผ ํน์ ๋ฌธ์ ์ ์ฌ๊ท ํธ์ถ ๋น์ทํ ๊ฐ๋ ์ด์ง๋ง ๊ฐ์ฅ ํฐ ์ฐจ์ด์ ์ ๋ฉ๋ชจ์ด์ ์ด์ (Memoization) ์ ํ๋๋ ์ ํ๋๋์ ๋ฐ๋ผ ๋ฌ๋ ธ๋ค๊ณ ํ๋ค. Memoization ๋ฉ๋ชจ์ ์ด์ ์ด๋, DP์์ ์์ ๋ฌธ์ ๋ค์ด ํด๊ฒฐ๋ ๋ ํด๋น ๊ฒฐ๊ณผ๋ฅผ ์ ์ฅํ์ฌ ๋ค๋ฅธ ๋ถ๋ถ์ ๋์ผํ ๊ณ์ฐ์, ์ ์ฅ๋ ๊ฒฐ๊ณผ๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ ๋ปํ๋ค. ๋ฉ๋ชจ์ด์ ์ด์ ์ ํจ๊ณผ์ ์ผ๋ก ์ค๋ช ํ๊ธฐ .. 2020. 3. 1. [์๊ณ ๋ฆฌ์ฆ-๋ฐฑ์ค(์ ๋ ฌ)] ๋ฐฑ์ค 11650๋ฒ ์ขํ ์ ๋ ฌํ๊ธฐ ์๋ฐ ๋ฌธ์ ํ์ด.(Comparable์ ์ด์ฉํ ๊ฐ์ฒด ๋น๊ต, 2์ฐจ์ ๋ฐฐ์ด ์ ๋ ฌ) ๋ฌธ์ ์ ๋ ฅ ๋ฐ ์ถ๋ ฅ ์์ ๋ฌธ์ ์ดํด ์ด ๋ฌธ์ ๊ฐ ์ฐ๋ฆฌ๋ฅผ ํตํด ํ์ธํ๊ณ ์ ํ๋ ๊ฐ๋ ์ ๋ ๊ฐ์ง์ ํ๋๋ฅผ ๋ฌถ์ด์ ๋น๊ต๋ฅผ ํ ์ ์๋๋ ์ด๋ค. ์ด ๋ฌธ์ ๋ ๋๊ฐ์ ํด๊ฒฐ ๋ฐฉ๋ฒ์ผ๋ก ๊ฐ๋ฅํ๋ค. 2์ฐจ์ ๋ฐฐ์ด๋ก์จ์ ํ์ด ๊ฐ์ฒด๋ฅผ ์ด์ฉํ์ฌ comparable์ ์ด์ฉํ ํ์ด. ๋ฌธ์ ํด๊ฒฐ ์ ๊ทผ ๊ฐ์ฒด๋ฅผ ์ด์ฉํด์ ์ ๋ ฌ ๊ฐ์ฒด๋ฅผ ์์ฑํด์ ๊ฐ์ฒด์ ์ ๋ ฌ ๋ฐฉ์์ ์ฌ์ ์ ํ๋ ๋ฐฉ์์ผ๋ก ๋ฌธ์ ๋ฅผ ํด๊ฒฐ ํ ์ ์์๊ฒ ๊ฐ๋ค. ์์ค ์ฝ๋ package algorithm.class04_Sort; import java.util.*; public class Prob08_CoordinationSort { public static void main(String[] args) { Scanner input = new Scanner(System.in); int n .. 2020. 2. 24. [์๊ณ ๋ฆฌ์ฆ-๋ฐฑ์ค(์ ๋ ฌ)] ์๋ฐ 1181๋ฒ ๋จ์ด ์ ๋ ฌ ๋ฌธ์ ํ์ด. (Comparator์ ์ด์ฉํ์ฌ ์ ๋ ฌ ๊ธฐ์ค ๋ณ๊ฒฝ) ๋ฌธ์ ์ ๋ ฅ ๋ฐ ์ถ๋ ฅ ์์ ๋ฌธ์ ์ดํด ๋ฌธ์ ์ ๋ฐ๋ก ์กฐ๊ฑด์ ๋ฐ๋ผ ์ ๋ ฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค ๋ผ๋ ๋ง์ด ์๊ธฐ ๋๋ฌธ์ ์ด ๋ฌธ์ ๋ ์ ๋ ฌ ๋ฌธ์ ๋ก ๋ถ๋ฅํ์ฌ ํผ๋ค. ํ์ง๋ง ์ ๋ ฌ ๊ธฐ์ค์ด ๋ ๊ฐ์ง๋ก ๋๋๋ค. ๊ธธ์ด๊ฐ ์งง์ ๊ฒ ๋ถํฐ ๊ธธ์ด๊ฐ ๊ฐ์ผ๋ฉด ์ฌ์ ์์ผ๋ก ์ค๋ณต ์ ๊ฑฐ ์ง๊ธ๊น์ง ์ฐ๋ฆฌ๊ฐ ์ ๋ ฌ์ ํ ๋ int์ ์ค๋ฆ์ฐจ์ ํน์ ๋ด๋ฆผ์ฐจ์ ์ ๋ ฌ์ ํ์ง๋ง ์ด ๋ฌธ์ ๋ ํน์ดํ๊ฒ ๋ฌธ์์ ๊ธธ์ด๋ฅผ ์๊ตฌํ๋ฏ๋ก ํด๋น ์๊ตฌ์กฐ๊ฑด์ ๋ง์กฑ์ํค๊ธฐ ์ํด์๋ Comparator ์ธํฐํ์ด์ค๋ฅผ ์ด์ฉํด์ ํด๊ฒฐํด์ผ ํ๋ค. comparator comparator์ ์๊ณ ๋ฆฌ์ฆ ๋ฌธ์ ํ์ด ์ฌ์ฉ๋ฒ ์ ํตํด์ ์ฌ์ฉ๋ฒ์ ์์งํ์๊ณ ์ค๋๊ฒ๋ ๋ฐฉ๋ฒ์ด์์ :) ๋ฌธ์ ํด๊ฒฐ ์ ๊ทผ ๊ธธ์ด๊ฐ ์งง์ ์์ผ๋ก ์ ๋ ฌ ์ ์ํํ ๋๋ str.length() ๋ฅผ ์ด์ฉํ์ฌ ์ํ ๊ธธ์ด๊ฐ ๊ฐ์ผ๋ฉด ์ฌ์ ์ ์ ๋ ฌ .. 2020. 2. 24. [์๊ณ ๋ฆฌ์ฆ ๋ฌธ์ ํ์ด ์คํฌ] ์๋ฐ ์์ Comparator, Comparable ๋ก ์ ๋ ฌ ๊ธฐ์ค ๋ฐ๊พธ๊ธฐ (๋๋ค๋ฅผ ์ด์ฉํด์ ๊น๋ํ๊ฒ ์ฌ์ ์ํ๊ธฐ) Java์์ comparable๋ก ์ ๋ ฌ ๊ธฐ์ค ๋ฐ๊พธ๊ธฐ [Java ์ฌํ] Java ์์ Comparable๋ก ์ ๋ ฌ ๊ธฐ์ค ๋ฐ๊พธ๊ธฐ. Java์์ comparator๋ก ์ ๋ ฌ ๊ธฐ์ค ๋ฐ๊พธ๊ธฐ ์๋ฐ๋ก ์๊ณ ๋ฆฌ์ฆ ๋ฌธ์ ํ์ด๋ฅผ ํ๋ค ๋ณด๋ฉด ํน์ ์กฐ๊ฑด์ ์ํ ์ ๋ ฌ์ ์ํํ ๋๊ฐ ์๋ค. ๊ธฐ๋ณธ์ ์ผ๋ก ์๋ฐ์์๋ ์ ๋ ฌ์ ์ํด์ Arrays.sort() ์ static ๋ฉ์๋๋ , Col wonit.tistory.com ์๋ฐ๋ก ์๊ณ ๋ฆฌ์ฆ ๋ฌธ์ ํ์ด๋ฅผ ํ๋ค ๋ณด๋ฉด ํน์ ์กฐ๊ฑด์ ์ํ ์ ๋ ฌ์ ์ํํ ๋๊ฐ ์๋ค. ๊ธฐ๋ณธ์ ์ผ๋ก ์๋ฐ์์๋ ์ ๋ ฌ์ ์ํด์ Arrays.sort() ์ static ๋ฉ์๋๋ ,Collections.sort()์ static ๋ฉ์๋๋ฅผ ์ ๊ณตํ์ง๋ง, ์ด๋ ๊ธฐ๋ณธ ์ ๋ ฌ์ธ ์ค๋ฆ์ฐจ์ ์ ๋ ฌ์ ์ ๊ณตํ๊ธฐ ๋๋ฌธ์ ํน์ ์กฐ๊ฑด์ ์ํ ์ ๋ ฌ(๋ค์ฐจ์ ๋ฐฐ์ด.. 2020. 2. 24. ์ด์ 1 ยทยทยท 19 20 21 22 23 24 25 ๋ค์