๐ ์ฝํ
์ฐ์ต์ฅ/๐ ํธ๋ฆฌ
2023.09.08
์ ์ฅ ํธ๋ฆฌ (Spanning Tree) ๋ฌด๋ฐฉํฅ ๊ทธ๋ํ์ ์ต์ ์ฐ๊ฒฐ ๋ถ๋ถ ๊ทธ๋ํ๋ฅผ ๋งํ๋ค. ์ฆ, N๊ฐ์ ์ ์ ์ ๊ฐ์ง๋ ๊ทธ๋ํ ์ค ๋ชจ๋ ์ ์ ์ ํฌํจํ๋ฉด์ ์ต์ ๊ฐ์ ์ ์์ธ N-1๊ฐ์ ๊ฐ์ ์ผ๋ก ์ฐ๊ฒฐ๋ ๋ถ๋ถ ๊ทธ๋ํ๋ฅผ ๋ปํ๋ค. ํน์ ๊ทธ๋ํ์์ ์ต์ ๊ฐ์ ์์ธ N-1๊ฐ์ ๊ฐ์ ์ ๊ฐ์ง๊ณ ์๋ ๊ทธ๋ํ๋ ํธ๋ฆฌ ํํ๋ฅผ ์ด๋ฃฐ ์ ๋ฐ์ ์์ด ์ ์ฅ "ํธ๋ฆฌ"๋ผ๊ณ ํ๋ค. ๐น์ ์ ์: N ๐น๊ฐ์ ์: N-1 ๐น์ฆ, ๊ทธ๋ํ ๋ด ๋ชจ๋ ์ ์ ์ ํฌํจํ๋ ํธ๋ฆฌ (์ฌ์ดํด ์กด์ฌ X) ์์ ๊ทธ๋ฆผ๊ณผ ๊ฐ์ด ํ๋์ ๊ทธ๋ํ์์ ์ ์ฅ ํธ๋ฆฌ๋ ์ฌ๋ฌ๊ฐ๊ฐ ์กด์ฌํ ์ ์๋ค. ์ด๋ ํ๋์ ๊ทธ๋ํ์์ ์์ฑ๋ ์ ์๋ ์ ์ฅ ํธ๋ฆฌ ์ค ๊ฐ์ค์น์ ํฉ์ด ๊ฐ์ฅ ์์ ํธ๋ฆฌ๋ฅผ ์ต์ ์ ์ฅ ํธ๋ฆฌ๋ผ๊ณ ํ๋ค. MST๋ฅผ ๊ตฌํ ์ ์๋ ์๊ณ ๋ฆฌ์ฆ์ผ๋ก ํฌ๋ฃจ์ค์นผ ์๊ณ ๋ฆฌ์ฆ๊ณผ ํ๋ฆผ ์๊ณ ๋ฆฌ์ฆ์ด ์๋ค...
๐ ์ฝํ
์ฐ์ต์ฅ/๐ ์ต๋จ๊ฒฝ๋ก
2023.09.04
28354๋ฒ: ๋งํฌ ์ปท ํ ๋งํ ์ฒซ์งธ ์ค์ ํ ๋งํ ์ ๊ฐ์ $N$, $0$์ผ์ ์ฐ๊ฒฐ๋์ด ์๋ ํ ๋งํ ์์ ์ $M$, $0$์ผ์ ์ต์ ํ ๋งํ ์ ์ $K$, ์ฐ๊ฒฐ ์ํ๊ฐ ๋ณํ๋ ํ์ $Q$๊ฐ ๊ณต๋ฐฑ์ผ๋ก ๊ตฌ๋ถ๋์ด ์ฃผ์ด์ง๋ค. $(1 \leq K \leq N \leq 200\,000;$ $0 \leq www.acmicpc.net ๋ฌธ์ ํ์ด ๋ด ์ฒซ ํ๋ํฐ๋ ๋ฌธ์ ์๋ค. ์๊ณ ๋ฆฌ์ฆ์ ์ ๋๋ก ๊ตฌ์ฑํด์ ์์ฑํ ๊ฒ ๊ฐ์๋ฐ, ๊ณ์ ์๊ฐ ์ด๊ณผ๊ฐ ๋์ ์ ๋จน์๋ ๊ธฐ์ต์ด ์๋ค. ์๊ฐ์ ๋จ์ถ์ํค๊ณ ์ BFS ๋ฐฉ๋ฌธ ์ ํ์ ์๋ ๋ฐฉ๋ฌธ์ด ๋ฐ์ํ์ง ์๋๋ก ์กฐ๊ฑด๋ ์ฒดํฌํ๋๋ฐ ์๊ฐ ์ด๊ณผ๊ฐ ๋์ ๋ฉฐ์น ๋์ ๋ถ์ก๊ณ ์์๋ค. ๊ฒฐ๋ก ์ ์ผ๋ก ํ์์ด ๋ ํจ์จ์ ์ธ ์๋ฃ๊ตฌ์กฐ๋ก ๋ณ๊ฒฝํ๋ ํต๊ณผ๋์๋ค. ์ฒ์์ ๊ทธ๋ํ๋ฅผ ArrayList๋ก ๊ตฌํํ์๋๋ฐ, ๊ทธ๋ํ ์์ ํน์ ..
๐ ์ฝํ
์ฐ์ต์ฅ/๐ DP
2023.07.15
16500๋ฒ: ๋ฌธ์์ด ํ๋ณ ์ฒซ์งธ ์ค์ ๊ธธ์ด๊ฐ 100์ดํ์ธ ๋ฌธ์์ด S๊ฐ ์ฃผ์ด์ง๋ค. ๋์งธ ์ค์๋ A์ ํฌํจ๋ ๋ฌธ์์ด์ ๊ฐ์ N(1 โค N โค 100)์ด ์ฃผ์ด์ง๋ค. ์
์งธ ์ค๋ถํฐ N๊ฐ์ ์ค์๋ A์ ํฌํจ๋ ๋จ์ด๊ฐ ํ ์ค์ ํ๋์ฉ ์ฃผ์ด์ง๋ค. A์ www.acmicpc.net ๋ฌธ์ ํ์ด ์ฒ์์ ๋จ์ด๋ชฉ๋ก(A)์ ์๋ ๋จ์ด๋ค์ ๊ธด ๋จ์ด๋ถํฐ ํ๋์ฉ ๋ฌธ์์ด์ ์๋ถ๋ถ๊ณผ ๋น๊ตํด์ ์ผ์นํ๋ฉด ๋จ์ด ๊ธธ์ด๋งํผ ์ญ์ ํ๊ณ ๋ค์ ํ์ํ๋ ๋ฐฉ์์ผ๋ก ์ ๊ทผํ์๋๋ฐ, ๋จ์ด๋ชฉ๋ก์ software, soft ๊ฐ์ด ๋จ์ด ์ฌ์ด์ ์๋ธ ์คํธ๋ง์ด ์กด์ฌํ๋ ๊ฒฝ์ฐ ๋ฐ๋ก๊ฐ ์๊ธฐ๋ ๊ฒ ๊ฐ๋ค..(์ฌ์ค ์ ํํ ๋ฌธ์ ์ ๋ฐ๊ฒฌ ๋ชปํจ) ๋จ์ด๋ฅผ ์ฐพ์๋ค๊ณ ๋ฌธ์์ด์์ ์ญ์ ํ ํ ๋ค์ ๊ณ ๋ คํ์ง ์๋ ๋ฐฉ์์ ๋ฏธ์ฒ ๊ณ ๋ คํ์ง ๋ชปํ๋ ๊ฒฝ์ฐ๊ฐ ๋ฐ์ํ๋ ๊ฒ ๊ฐ๋ค. ๋ฐ๋ผ์ DP ํ
์ด๋ธ์ ์ด์ฉ..
๐ ์ฝํ
์ฐ์ต์ฅ/๐ DP
2023.07.09
2193๋ฒ: ์ด์น์ 0๊ณผ 1๋ก๋ง ์ด๋ฃจ์ด์ง ์๋ฅผ ์ด์ง์๋ผ ํ๋ค. ์ด๋ฌํ ์ด์ง์ ์ค ํน๋ณํ ์ฑ์ง์ ๊ฐ๋ ๊ฒ๋ค์ด ์๋๋ฐ, ์ด๋ค์ ์ด์น์(pinary number)๋ผ ํ๋ค. ์ด์น์๋ ๋ค์์ ์ฑ์ง์ ๋ง์กฑํ๋ค. ์ด์น์๋ 0์ผ๋ก ์์ํ์ง ์ www.acmicpc.net ๋ฌธ์ ํ์ด "์ด์น์"์ ์กฐ๊ฑด์ด ๋๋ ค๋ฉด ์๋์ ๊ฐ๋ค. 1. ์ด์ง์ ์ค์ 2. 1๋ก ์์ํ๋ ์ 3. 1์ด ๋ ๋ฒ ์ฐ์ ์์ผ๋ฉด ์ ๋จ ์ด ์กฐ๊ฑด์ ๋ง๋ ๊ฒฝ์ฐ๋ฅผ ๊ฐ ์๋ฆฌ ๋ณ๋ก ์ฐพ์๋ดค์ ๋ ์ผ์ ํ ๊ท์น์ ์ฐพ์ ์ ์์๋ค. ์ด์ ์๋ฆฌ ์์์ ์ฐพ์ ์ด์น์๋ฅผ ๊ทธ๋๋ก ๊ฐ์ ธ์ ์ด์ฉํ ์ ์๋๋ฐ, ํด๋น ์์ ๋ ์๋ฆฌ๊ฐ 1๋ก ๋๋๋ฉด ์ฐ์์ผ๋ก 1์ด ์ฌ ์ ์์ผ๋ 0๋ง ๋ถ์ผ ์ ์๋ค. ๋ฐ๋๋ก 0์ผ๋ก ๋๋๋ ์๋ฉด 0๊ณผ 1์ ๋ชจ๋ ๋ถ์ผ ์ ์๋ค. ๋ฐ๋ผ์ ์๋ฆฟ์๊ฐ 4์ธ ์ด์น์๋ฅผ ๊ตฌ..
๐ ์ฝํ
์ฐ์ต์ฅ/๐ DP
2023.07.08
๐ ์ค๋์ ์ผ๊ธฐ DP๋ ์ฐธ ์ด๋ ต๋ค. DP๋ ๋ณดํต ์ ํ์์ ์ฐพ์๋ด๊ธฐ๋ง ํ๋ฉด ์ฝ๋๋ก ์ฎ๊ฒจ ๊ตฌํํ๋ ์๊ฐ์ ์งง์ ํธ์ธ๋ฐ, ๊ทธ ์ ํ์์ ์ฐพ์๋ด๋ ๋ฐฉ๋ฒ์ด ์ฐ์ต ๋ง๊ณ ๋ ์๋ ๊ฒ ๊ฐ๋ค.. ๊ทธ๋์ ๋ค๋ฅธ ์๊ณ ๋ฆฌ์ฆ ๋ฌธ์ ํ์ด๋ ๋ฐ๋ก ํฌ์คํ
์ ํ์ง ์๋ ํธ์ธ๋ฐ, DP๋ ์ํ ๋๊น์ง ํฌ์คํ
ํ๋ฉด์ ์ ๋ฆฌํด์ผ ํ ๊ฒ ๊ฐ๋ค. 9095๋ฒ: 1, 2, 3 ๋ํ๊ธฐ ๊ฐ ํ
์คํธ ์ผ์ด์ค๋ง๋ค, n์ 1, 2, 3์ ํฉ์ผ๋ก ๋ํ๋ด๋ ๋ฐฉ๋ฒ์ ์๋ฅผ ์ถ๋ ฅํ๋ค. www.acmicpc.net ๋ฌธ์ ํ์ด ์ฒ์์ DP ํ
์ด๋ธ์ 2์ฐจ์์ ๊ตฌ์ฑํด์, 1๋ก๋ง ํด๋น ์ซ์๋ฅผ ๊ตฌ์ฑํ๋ ๊ฒฝ์ฐ, 1๊ณผ 2๋ก ๊ตฌ์ฑํ๋ ๊ฒฝ์ฐ, 1,2,3์ผ๋ก ๊ตฌ์ฑํ๋ ๊ฒฝ์ฐ์ ์๋ฅผ ๋ฐ์ ธ ๋ณด์๋๋ฐ, 2์ฐจ์ ๋ฐฐ์ด ์์์ ์๋ฌด๋ฆฌ ๋ด๋ ๊ท์น์ ์ฐพ์ ์ ์์๋ค. 1์ฐจ์ ๋ฐฐ์ด๋ก DP ํ
์ด๋ธ์ ๋ค์ ๊ตฌ์ฑํด์ ๋ณด..
๐ ์ฝํ
์ฐ์ต์ฅ/๐ ์ต๋จ๊ฒฝ๋ก
2023.07.05
๋ฒจ๋ง ํฌ๋ ์๊ณ ๋ฆฌ์ฆ ๋ฒจ๋ง-ํฌ๋ ์๊ณ ๋ฆฌ์ฆ์ ๋ค์ต์คํธ๋ผ ์๊ณ ๋ฆฌ์ฆ๊ณผ ๋ง์ฐฌ๊ฐ์ง๋ก ํ ์ ์ ์ ๊ธฐ์ค์ผ๋ก ๋ค๋ฅธ ๋ชจ๋ ์ ์ ๊น์ง์ ์ต๋จ๊ฒฝ๋ก๋ฅผ ๊ตฌํ์ฌ ๊ฒฐ๊ณผ์ ์ผ๋ก ์ํ๋ ๋์ฐฉ์ง๊น์ง์ ์ต๋จ๊ฒฝ๋ก๋ฅผ ๋์ถํด ๋ด๋ ์๊ณ ๋ฆฌ์ฆ์ด๋ค. ํ์ง๋ง ๋ค์ต์คํธ๋ผ ์๊ณ ๋ฆฌ์ฆ๊ณผ ๋ค๋ฅด๊ฒ ๊ทธ๋ํ์ ์์ ๊ฐ์ค์น๊ฐ ์์ด๋ ์ต๋จ ๊ฒฝ๋ก๋ฅผ ๊ตฌํ ์ ์๋ค. [์๊ณ ๋ฆฌ์ฆ] ๋ค์ต์คํธ๋ผ(Dijkstra) ๋ค์ต์คํธ๋ผ ์๊ณ ๋ฆฌ์ฆ ๋ค์ต์คํธ๋ผ ์๊ณ ๋ฆฌ์ฆ์ ๋ค์ด๋๋ฏน ํ๋ก๊ทธ๋๋ฐ(DP)๊ณผ ๊ทธ๋ฆฌ๋ ์๊ณ ๋ฆฌ์ฆ์ ํ์ฉํ ์ต๋จ๊ฒฝ๋ก ํ์ ์๊ณ ๋ฆฌ์ฆ์ด๋ค. ๋ค์ต์คํธ๋ผ ์๊ณ ๋ฆฌ์ฆ์ ํ๋์ ํน์ ์ ์ ์์ ๋ค๋ฅธ ๋ชจ๋ ์ ์ dana-study-log.tistory.com ๋ค์ต์คํธ๋ผ์ ์์ ๊ฐ์ค์น ๋ค์ต์คํธ๋ผ ์๊ณ ๋ฆฌ์ฆ ๊ณผ์ 1. ์์์ ์ ์ ํ 2. ๊ฑฐ๋ฆฌ ๋ฐฐ์ด ์ด๊ธฐํ (์์์ ์ ์ 0์ผ๋ก ๋ค๋ฅธ ๋
ธ๋๋ ๋ฌดํ๋๋ก) 3. ์ง๊ธ..
๐ ์ฝํ
์ฐ์ต์ฅ/๐ ์ต๋จ๊ฒฝ๋ก
2023.05.08
๋ค์ต์คํธ๋ผ ์๊ณ ๋ฆฌ์ฆ ๋ค์ต์คํธ๋ผ ์๊ณ ๋ฆฌ์ฆ์ ๋ค์ด๋๋ฏน ํ๋ก๊ทธ๋๋ฐ(DP)๊ณผ ๊ทธ๋ฆฌ๋ ์๊ณ ๋ฆฌ์ฆ์ ํ์ฉํ ์ต๋จ๊ฒฝ๋ก ํ์ ์๊ณ ๋ฆฌ์ฆ์ด๋ค. ๋ค์ต์คํธ๋ผ ์๊ณ ๋ฆฌ์ฆ์ ํ๋์ ํน์ ์ ์ ์์ ๋ค๋ฅธ ๋ชจ๋ ์ ์ ์ผ๋ก ๊ฐ๋ ์ต๋จ ๊ฒฝ๋ก๋ฅผ ์ ์ ์์ผ๋ฉฐ, ๊ฐ์ ์ ๊ฐ์ค์น๊ฐ ์์์ผ ๋ ์ฌ์ฉ๊ฐ๋ฅํ๋ค. ๋ค์ต์คํธ๋ผ ์๊ณ ๋ฆฌ์ฆ์ด DP๋ผ๊ณ ํ ์ ์๋ ์ด์ ๋ ํน์ ์ต๋จ ๊ฑฐ๋ฆฌ๋ ์ฌ๋ฌ ๊ฐ์ ์ต๋จ๊ฑฐ๋ฆฌ๋ก ์ด๋ฃจ์ด์ ธ ์๊ธฐ ๋๋ฌธ์ด๋ฉฐ, ํ๋์ ์ต๋จ ๊ฑฐ๋ฆฌ๋ฅผ ๊ตฌํ ๋ ํน์ ์ ์ ๊น์ง์ ์ต๋จ๊ฑฐ๋ฆฌ ์ ๋ณด๋ฅผ ๊ทธ๋๋ก ๊ฐ์ ธ์ ์ฌ์ฉํ๊ธฐ ๋๋ฌธ์ด๋ค. ๋ํ ๊ทธ๋ฆฌ๋ ์๊ณ ๋ฆฌ์ฆ์ด๋ผ๊ณ ๋งํ ์ ์๋ ์ด์ ๋ ํน์ ์ต๋จ ๊ฑฐ๋ฆฌ์ ์ต๋จ ๊ฑฐ๋ฆฌ๋ฅผ ๋ํด๊ฐ๋ฉฐ ์ต์ข
์ ์ธ ์ต๋จ๊ฑฐ๋ฆฌ๋ฅผ ๊ณ์ฐํ๋ ๋ฐฉ์์ด๊ธฐ ๋๋ฌธ์ด๋ค. (๋ค์ต์คํธ๋ผ ์๊ณ ๋ฆฌ์ฆ์ ๊ณต๋ถํ ๋ค ๋ค์ ์ฝ์ผ๋ฉด ์ฝ๊ฒ ์ดํด๊ฐ๋ฅ) ํ ์ ์ ์์ ๋ค๋ฅธ ๋ชจ๋ ์ ์ ๊น์ง์ ์ต๋จ๊ฑฐ๋ฆฌ๋ฅผ..
๐ ์ฝํ
์ฐ์ต์ฅ
2022.05.09
lv.1 ์๊ฐ ์ฝ๋ ์ฑ๋ฆฐ์ง ์์ฆ2 https://programmers.co.kr/learn/courses/30/lessons/77884?language=java class Solution { public int solution(int left, int right) { int answer = 0; for(int num = left; num
๐ ์ฝํ
์ฐ์ต์ฅ
2022.05.09
lv.1 2021 ์นด์นด์ค ์ฑ์ฉ์ฐ๊ณํ ์ธํด์ญ https://programmers.co.kr/learn/courses/30/lessons/81301 class Solution { public int solution(String s) { int answer = 0; String[] numStr = {"zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine"}; for(int i = 0; i
๐ ์ฝํ
์ฐ์ต์ฅ
2022.05.06
lv.1 ํด์ https://programmers.co.kr/learn/courses/30/lessons/42576 ํต๊ณผ ํ์ด import java.util.*; import java.util.Collections; class Solution { public String solution(String[] participant, String[] completion) { // ํต๊ณผ ํ์ด Arrays.sort(completion); Arrays.sort(participant); for(int i = 0;i < participant.length-1;i++){ if(completion[i].equals(participant[i])) { continue; } else { return participant[i]; } ..
'๐ ์ฝํ
์ฐ์ต์ฅ' ์นดํ
๊ณ ๋ฆฌ์ ๊ธ ๋ชฉ๋ก
๋ซ๊ธฐ
๋จ์ถํค
๋ด ๋ธ๋ก๊ทธ
๋ด ๋ธ๋ก๊ทธ - ๊ด๋ฆฌ์ ํ ์ ํ
Q
Q
์ ๊ธ ์ฐ๊ธฐ
W
W
๋ธ๋ก๊ทธ ๊ฒ์๊ธ
๊ธ ์์ (๊ถํ ์๋ ๊ฒฝ์ฐ)
E
E
๋๊ธ ์์ญ์ผ๋ก ์ด๋
C
C
๋ชจ๋ ์์ญ
์ด ํ์ด์ง์ URL ๋ณต์ฌ
S
S
๋งจ ์๋ก ์ด๋
T
T
ํฐ์คํ ๋ฆฌ ํ ์ด๋
H
H
๋จ์ถํค ์๋ด
Shift + /
โง + /
* ๋จ์ถํค๋ ํ๊ธ/์๋ฌธ ๋์๋ฌธ์๋ก ์ด์ฉ ๊ฐ๋ฅํ๋ฉฐ, ํฐ์คํ ๋ฆฌ ๊ธฐ๋ณธ ๋๋ฉ์ธ์์๋ง ๋์ํฉ๋๋ค.