728x90 Softeer8 [Softeer] Lv3. ํ๋ฐฐ๋ง์คํฐ ๊ด์ฐ (Java) 1. ๋ฌธ์ ๋ฌธ์ ๋งํฌ : Lv3. ํ๋ฐฐ๋ง์คํฐ ๊ด์ฐ ์ฃผ์ : ์์ ํ์, ๋ฐฑํธ๋ํน 2. ํ์ด ๊ณผ์ ๋ฐ ์ ๋ฆฌ ์ด ๋ฌธ์ ์์๋ ๋ ์ผ์ ์ด๋ค ์์๋ก ๋์์ ์ต์ํ์ ๋ฌด๊ฒ๋ก ์ผํ ์ ์๋์ง ์ฐพ์์ผํ๋ค. ์์ ๊ทธ๋ฆผ๊ณผ ๊ฐ์ด ๋ ์ผ์ ๋๋ฉด์ ๋ฐ๊ตฌ๋ ๋ฌด๊ฒ๋ฅผ ์ด๊ณผํ๊ธฐ ์ ๊น์ง๋ ๋ฌด์กฐ๊ฑด 1๋ฒ์ผ๋ก ์ํ๋์ด์ผ ํ๋ค. ์ด๋ ๋ฑํ ๊ท์น์ฑ์ด๋ ๊ณต์์ ์ฐพ์ ์ ์๋ค. ๊ทธ๋์ ๋ด๊ฐ ์ ํํ ๋ฐฉ์์ ์์ ํ์์ ํ์ฌ ๋ ์ผ์ ์์๋ฅผ ๋ชจ๋ ๊ตฌํ๋ค. ์ด๋ฅผ ๊ตฌํ๊ธฐ ์ํด์ ์๋์ ๊ฐ์ด ๋ฐฑํธ๋ํน ๋ฐฉ์์ผ๋ก ์์๋ฅผ ๊ตฌํ๋ค. static void dfs(int count, int[] result) { if(count == n) { //์์๊ฐ ์ ํด์ก์ ๊ฒฝ์ฐ int w = getWeight(result); minWeight = Math.min(w, minWeight).. 2024. 2. 25. [Softeer] Lv3. GINI์ผ ๋์์ค (Java) 1. ๋ฌธ์ ๋ฌธ์ ๋งํฌ : Lv3. GINI์ผ ๋์์ค ์ฃผ์ : BFS 2. ํ์ด ๊ณผ์ ๋ฐ ์ ๋ฆฌ ์์ ์ ๋น์ทํ ๋ฌธ์ ๋ฅผ ํ์๋ ๊ธฐ์ต์ด ๋์ ๋ ๋น์ทํ๊ฒ ํ์๋ค. (๋ฌธ์ ํ์ด ๊ธฐ๋ก - 3055๋ฒ ํ์ถ) https://soo-note.tistory.com/52 [TIL] Algorithm - ๋ค์ต์คํธ๋ผ + ๊ทธ๋ํ ๋ฌธ์ ํ์ด(BFS) 1. ๋ค์ต์คํธ๋ผ ์๊ณ ๋ฆฌ์ฆ(Dijkstra algorithm) ๋ชจ๋ ๊ฐ์ ์ ๋ํ ๊ฐ์ค์น๊ฐ ํญ์ 0์ด์์์ ๊ฐ์ ํ๊ณ ๋ ๊ผญ์ง์ ๊ฐ์ ๊ฐ์ฅ ์งง์ ๊ฒฝ๋ก๋ฅผ ์ฐพ๋ ์๊ณ ๋ฆฌ์ฆ ๊ฐ์ ์ํ(Edge Relaxation) ์์ ์ ์ s์์ ๋ค๋ฅธ ์ ์ v soo-note.tistory.com ์ ๋ฒ์๋ ํ์ด์ฌ์ผ๋ก ํ์๋๋ฐ ์ด๋ฒ์ ์๋ฐ๋ก ํ์ด๋ณด์๋ค. ์ด๋ฒ์๋ ํต์ฌ์ ๋น์ค๋ ์๊ฐ์ ๊ตฌํ๊ณ ์ด์ ๋ฐ๋ฅธ ์ด๋๋ฐฉ๋ฒ์ .. 2024. 2. 22. [Softeer] Lv3. ๋น๋ฐ๋ฉ๋ด2 (Java) 1. ๋ฌธ์ ๋ฌธ์ ๋งํฌ : Lv3. ๋น๋ฐ๋ฉ๋ด2 ์ฃผ์ : LCS, DP 2. ํ์ด ๊ณผ์ ๋ฐ ์ ๋ฆฌ ์ด ๋ฌธ์ ๋ ๋ ์์ด ์ฌ์ด์ ๊ณตํต์ ์ผ๋ก ํฌํจ๋ ์ฐ์๋ ์์ด์ ์ต๋ ๊ธธ์ด๋ฅผ ๊ตฌํด์ผ ํ๋ค. ์ฌ๊ธฐ์ ๊ฐ์ฅ ๋จผ์ ์๊ฐ๋ ๊ฒ์ LCS ์ฆ, ๊ฐ์ฅ ๊ธด ๊ณตํต ๋ถ๋ถ ๋ฌธ์์ด์ด๋ค. [LCS ๋ฌธ์ ํ์ด ์ฐ์ต] https://soo-note.tistory.com/56 [TIL] ๋์ ํ๋ก๊ทธ๋๋ฐ ๋ฌธ์ ํ์ด 1. DP ๋ฌธ์ ํ์ด 1. 9084๋ฒ - ๋์ import sys T = int(sys.stdin.readline()) for _ in range(T) : N = int(sys.stdin.readline()) coin = list(map(int, sys.stdin.readline().split())) M = int(sys.stdin.r.. 2024. 2. 20. [Softeer] Lv2. ์ง๋ ์๋ ๊ตฌ์ถ (Java) 1. ๋ฌธ์ ๋ฌธ์ ๋งํฌ : Lv2. ์ง๋ ์๋ ๊ตฌ์ถ ์ฃผ์ : Math 2. ํ์ด ๊ณผ์ ๋ฐ ์ ๋ฆฌ ๋ด๊ฐ ์ด ๋ฌธ์ ์์ ํต์ฌ์ผ๋ก ์ก์ ๊ฒ์ ์ ์ฌ๊ฐํ์ ํ ๋ณ์ ํฌํจ๋์ด ์๋ ์ ์ ๊ฐ์์ด๋ค. ์ด ๋ฌธ์ ๋ ์ ์ฌ๊ฐํ์ ์ค์์ ์ ์ ์ถ๊ฐํ์ฌ ์์ ์ ์ฌ๊ฐํ์ด ๋ ์๊ฒจ๋๋ค. ๊ทธ๋ฌ๋ฏ๋ก ๋จ๊ณ๊ฐ ์ฌ๋ผ๊ฐ์๋ก ํ ๋ณ์ ํฌํจ๋์ด ์๋ ์ ์ ๊ฐ์๊ฐ ์ฆ๊ฐํ๋ค. ์์ ๊ทธ๋ฆผ์ 1๋จ๊ณ์์ 2๋จ๊ณ๋ก ์ฌ๋ผ๊ฐ ๋ ์ ์ ๊ฐ์ ๋ณํ๋ฅผ ๋ํ๋ธ ๊ทธ๋ฆผ์ด๋ค. ์ด ๊ทธ๋ฆผ์ ํตํด ํน์ง์ ์๊ฐํด๋ณด๋ฉด ๋ ์ ์ฌ์ด์ 1๊ฐ์ ์ ์ด ์ถ๊ฐ๋๋ค. ์ฆ, ํ ๋ณ์ ์ n๊ฐ๊ฐ ์์ ๊ฒฝ์ฐ n-1๊ฐ์ ์ ์ด ์ถ๊ฐ๋๋ค. ๋ชจ๋ ์ ์ ๊ฐ์๋ ํ ๋ณ์ ๊ฐ์์ ์ ๊ณฑ์ด๋ค. ์ฆ, n์ ์ ๊ณฑ์ด๋ค. ๊ทธ๋ฌ๋ฏ๋ก ๋๋ ํ ๋ณ์ ์ ์ ๊ฐ์๊ฐ ์ด๋ป๊ฒ ๋ณํ๋์ง์ ์ง์คํ๋ค. 1๋จ๊ณ → 2๋จ๊ณ ๊ธฐ๋ณธ 3๊ฐ์ ์ ์ด ์กด์ฌํ.. 2024. 2. 16. [Softeer] Lv3. ์ฑ์ ํ๊ฐ (Java) 1. ๋ฌธ์ ๋ฌธ์ ๋งํฌ : Lv3. ์ฑ์ ํ๊ฐ ์ฃผ์ : ์ ๋ ฌ, ๊ตฌํ 2. ํ์ด ๊ณผ์ ๋ฐ ์ ๋ฆฌ ์ด๋ฒ ๋ฌธ์ ์ ํต์ฌ์ ์ ๋ ฌ์ด์๋ ๊ฒ ๊ฐ๋ค. ํ์๋ค์ ์ ์๋ฅผ ์ ๋ ฌํ์ฌ ์์๋ฅผ ๋งค๊ฒจ์ผ ํ๋ค. ๋จ, ์ ์๊ฐ ์ ๋ ฅ๋ ์์๋๋ก ์์๋ฅผ ์ถ๋ ฅํด์ผํ๋ฏ๋ก ์ ๋ ฌ์ ํด๋ ์๋ ์์น๋ฅผ ๊ธฐ์ตํด์ผํ๋ค. ๋๋ ์ฌ๊ธฐ์ Student๋ผ๋ ํด๋์ค๋ฅผ ๋ง๋ค์ด ์์น์ ์ ์๋ฅผ ์ ์ฅํ๋๋ก ํ๋ค. class Student { int idx, score; //ํ์ ์ธ๋ฑ์ค, ์ ์ public Student(int idx, int score) { this.idx = idx; this.score = score; } } ์ด์ Student ํ์ ์ ๋ฐฐ์ด์ ์์ฑํ์ผ๋ฏ๋ก ์ด๋ฅผ ์ ๋ ฌํด์ผํ๋ค. ๋๋ ์ด์ฐจ์ ๋ฐฐ์ด์ ์ ๋ ฌํ๊ธฐ ์ํด Comparator ์ธํฐํ์ด์ค๋ฅผ ํ์ฉํด ์๋ค. ํ.. 2024. 2. 4. [Softeer] Lv3. ์์๋๋ก ๋ฐฉ๋ฌธํ๊ธฐ (Java) 1. ๋ฌธ์ ๋ฌธ์ ๋งํฌ : Lv3. ์์๋๋ก ๋ฐฉ๋ฌธํ๊ธฐ ์ฃผ์ : ๋ฐฑํธ๋ํน 2. ํ์ด ๊ณผ์ ๋ฐ ์ ๋ฆฌ ์ด ๋ฌธ์ ์์๋ ํ์์ ํ ๋ ๊ผญ ์์๋๋ก ๋ฐฉ๋ฌธํด์ผํ๋ ์ง์ ์ด ์๋ค. ๊ทธ๋์ ์๊ฐํ ๋ฐฉ๋ฒ์ ํ์ฌ ์์น์์ ๋์ฐฉํด์ผํ ์ง์ ์ ์ ์ฅํ์ฌ ํ์ธํ๋ ๊ฒ์ด๋ค. ์ฆ, ๋ถํ์ ์ง์ ์์ ์ด๋ก์ ์ง์ ๊น์ง ๊ฐ๊ณ ๊ทธ ํ ํ๋์ ์ง์ ๊น์ง ๋ง์ ํ์ํ ์ ์๋๋ก ํ๋ค. ๊ฒฝ๋ก ํ์ ํจ์์์ ๋๊ฐ์ง์ ๊ฒฝ์ฐ๊ฐ ์กด์ฌํ๋ค. ์ค๊ฐ ์ง์ ์ ๋๋ฌํ ๊ฒฝ์ฐ → ๋ค์ ์ง์ ๊น์ง ๊ฒฝ๋ก ํ์ ๋ง์ง๋ง ๋์ฐฉ ์ง์ ์ ๋๋ฌํ ๊ฒฝ์ฐ → ๊ฒฝ๋ก 1๊ฐ๋ฅผ ์ฐพ์์ผ๋ฏ๋ก count ์ฆ๊ฐ 3. ์ฝ๋ import java.io.*; import java.util.*; public class Main { static class Node { int x, y; public Node(int .. 2024. 2. 3. [Softeer] Lv3. ์๋์ฐจ ํ ์คํธ (Java) 1. ๋ฌธ์ ๋ฌธ์ ๋งํฌ : Lv3. ์๋์ฐจ ํ ์คํธ ์ฃผ์ : ์ด๋ถํ์ 2. ํ์ด ๊ณผ์ ๋ฐ ์ ๋ฆฌ ์์์ 3๊ฐ๋ฅผ ์ ํํ์ฌ ์ค์๊ฐ m์ด ๋์ค๋ ์๋ก ๋ค๋ฅธ ๊ฒฝ์ฐ์ ์๋ฅผ ๊ตฌํด์ผํ๋ค. → m๋ณด๋ค ์์ ์ฐ๋น 1๊ฐ, m๋ณด๋ค ํฐ ์ฐ๋น 1๊ฐ๋ฅผ ์ ํํ๋ ๊ฒฝ์ฐ์ ์๋ฅผ ๊ตฌํด์ผํ๋ค. ๋จ, ์ฃผ์ด์ง๋ ์๋์ฐจ์ ์ฐ๋น๋ ์๋ก ๋ค๋ฆ์ ๊ฐ์ ํด๋ ์ข์ต๋๋ค. → ์ค๋ณต๋ ์ฐ๋น๋ ์์ผ๋ฏ๋ก ๋ชจ๋ ์๋ก ๋ค๋ฅธ ๊ฒฝ์ฐ์ ์๋ฅผ ๊ตฌํ ์ ์๋ค. ๊ทธ๋ฌ๋ฏ๋ก ์ฐ์ ์ ๋ ฅ๋ฐ์ ์ฐ๋น ๋ฐฐ์ด์ ์ค๋ฆ์ฐจ์์ผ๋ก ์ ๋ ฌํ๋ค. ์ฌ๊ธฐ์ ์ค์๊ฐ์ ์ธ๋ฑ์ค๋ฅผ ๊ตฌํด์ผํ๋๋ฐ ์ฌ๊ธฐ์ ์ด๋ถํ์์ ์ฌ์ฉํ๋ค. ์ด๋ถํ์์ผ๋ก ๊ตฌํ ์ธ๋ฑ์ค๋ฅผ ๊ธฐ์ค์ผ๋ก ์์ ๊ทธ๋ฆผ์ฒ๋ผ ๊ฐ๊ฐ ์๊ณผ ๋ค์ ์์์ ์๋ฅผ ๊ณฑํด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ค. 3. ์ฝ๋ import java.io.*; import java.util.*; public cl.. 2024. 2. 2. [Softeer] Lv2. ํ์์ค ์์ฝ (Java) 1. ๋ฌธ์ ๋ฌธ์ ๋งํฌ: Lv2. ํ์์ค ์์ฝ ์ฃผ์ : ๊ตฌํ 2. ํ์ด ๊ณผ์ ๋ฐ ์ ๋ฆฌ ๊ตฌํ ๋ฌธ์ ๋ผ์ ์ฐจ๊ทผ์ฐจ๊ทผ ํด๋์๊ฐ๋ฉด ๋๋ค. ์ด๋ฒ์ ์ฐ์ธ ํท๊ฐ๋ฆฐ java ๋ฌธ๋ฒ์ ์ ๋ฆฌํด๋ณด๋ ค๊ณ ํ๋ค. 1. ๋ฆฌ์คํธ ๋ฐฐ์ด List[] arrList = new ArrayList[n]; ์์ ๊ฐ์ด ๋ฆฌ์คํธ ๋ฐฐ์ด์ ์ ์ธํ๋ค. ์ฃผ์ : new ์ดํ์๋ ๋ฐฐ์ด์ ํฌ๊ธฐ๋ง ์ด๋ค. → ๋ฆฌ์คํธ ์ ํ์ ์ ์ธ ์ ์๋ค. for(int i = 0; i < n; i++) { arrList[i] = new ArrayList(); } ๊ทธ ํ ๊ฐ ๋ฆฌ์คํธ๋ฅผ ์ด๊ธฐํํด์ค๋ค. 2. HashMap key ๊ฐ์ผ๋ก ์ ๋ ฌํ๊ธฐ HashMap map = new HashMap(); List keyList = new ArrayList(map.keySet()); Collectio.. 2024. 2. 2. ์ด์ 1 ๋ค์ 728x90