๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
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.
728x90