์๊ณ ๋ฆฌ์ฆ/BOJ
โจ ์ต๋จ๊ฒฝ๋ก ์๊ณ ๋ฆฌ์ฆ โก๏ธ ๋ฒจ๋ง ํฌ๋ ์๊ณ ๋ฆฌ์ฆ https://www.acmicpc.net/problem/11657 11657๋ฒ: ํ์๋จธ์ ์ฒซ์งธ ์ค์ ๋์์ ๊ฐ์ N (1 โค N โค 500), ๋ฒ์ค ๋
ธ์ ์ ๊ฐ์ M (1 โค M โค 6,000)์ด ์ฃผ์ด์ง๋ค. ๋์งธ ์ค๋ถํฐ M๊ฐ์ ์ค์๋ ๋ฒ์ค ๋
ธ์ ์ ์ ๋ณด A, B, C (1 โค A, B โค N, -10,000 โค C โค 10,000)๊ฐ ์ฃผ์ด์ง๋ค. www.acmicpc.net ๐ ๊ณ ๋ คํด์ผํ ์ C < 0 ์ธ ๊ฒฝ์ฐ ํ์๋จธ์ ์ผ๋ก ์๊ฐ์ ๋๋์๊ฐ๋ ๊ฒฝ์ฐ์ด๋ค. โ ์์ ๊ฐ์ค์น ์กด์ฌ 1๋ฒ ๋์์์ ์ถ๋ฐํ๋ค. ์์ ์ฌ์ดํด์ด ์๊ฑฐ๋ ๊ฒฝ๋ก๊ฐ ์์ ์๋ค๋ฉด -1 ์ถ๋ ฅ ์ค๋ฒํ๋ก์ฐ ๋ฒ์ ์กฐ์ฌ ๐น๏ธ ํ์ด๊ณผ์ 1๏ธโฃ ๊ฐ์ ๊ณผ ์ ์ , ๋น์ฉ์ ์ ๋ณด๋ฅผ ์ ์ฅํ๋ค. 2๏ธโฃ ๋ฒจ๋ง ํฌ๋ ์๊ณ ๋ฆฌ์ฆ์ ์ฌ์ฉ..
์๊ณ ๋ฆฌ์ฆ/BOJ
โจ ์ต๋จ๊ฒฝ๋ก ์๊ณ ๋ฆฌ์ฆ โก๏ธ ๋ฒจ๋ง ํฌ๋ ์๊ณ ๋ฆฌ์ฆ https://www.acmicpc.net/problem/1865 1865๋ฒ: ์ํ ์ฒซ ๋ฒ์งธ ์ค์๋ ํ
์คํธ์ผ์ด์ค์ ๊ฐ์ TC(1 โค TC โค 5)๊ฐ ์ฃผ์ด์ง๋ค. ๊ทธ๋ฆฌ๊ณ ๋ ๋ฒ์งธ ์ค๋ถํฐ TC๊ฐ์ ํ
์คํธ์ผ์ด์ค๊ฐ ์ฐจ๋ก๋ก ์ฃผ์ด์ง๋๋ฐ ๊ฐ ํ
์คํธ์ผ์ด์ค์ ์ฒซ ๋ฒ์งธ ์ค์๋ ์ง์ ์ ์ N(1 โค N โค 500), www.acmicpc.net ๐ ๊ณ ๋ คํด์ผํ ์ ํ ์ง์ ์์ ์ถ๋ฐํ์ฌ ๋ค์ ์ถ๋ฐํ๋ ์ง์ ์ผ๋ก ๋์์์ ๋ ์ฒ์ ์ถ๋ฐํ์ ๋๋ณด๋ค ์๊ฐ์ด ๋๋์๊ฐ ์๋ ๊ฒฝ์ฐ ํ๋จ โ ์ํ ๋ด์์ ์๊ฐ์ด ๊ฑฐ๊พธ๋ก ํ๋ฌ๊ฐ๋ค. โก๏ธ ์์ ๊ฐ์ค์น ์กด์ฌ & ์์ ์ฌ์ดํด ์กด์ฌ O ํ ์ง์ ์์ ์ถ๋ฐํ๋ค. (ํน์ ์ง์ ์์ ์ถ๋ฐ X) ์์์ ์ ์ ์์ ์ถ๋ฐ ๋ชจ๋ ์ ์ ์์ ์ถ๋ฐ ๋ ์ง์ ์ ์ฐ๊ฒฐํ๋ ๋๋ก๊ฐ ํ ..
์๊ณ ๋ฆฌ์ฆ/๐๏ธ ์ ๋ฆฌ
V๊ฐ์ ์ ์ ๊ณผ E๊ฐ์ ๊ฐ์ ์ ๊ฐ์ง ๊ฐ์ค ๊ทธ๋ํ G์์ ํน์ ์ถ๋ฐ ์ ์ (S)์์๋ถํฐ ๋ค๋ฅธ ๋ชจ๋ ์ ์ ๊น์ง์ ์ต๋จ๊ฒฝ๋ก๋ฅผ ๊ตฌํ๋ ์๊ณ ๋ฆฌ์ฆ์ด๋ค. ๐ ํน์ง ์์ ๊ฐ์ค์น๋ฅผ ๊ฐ๋ ๊ฐ์ ๋ ์กด์ฌ ๊ฐ๋ฅํ๋ค. ์์ ์ฌ์ดํด์ ์กด์ฌ ์ฌ๋ถ๋ฅผ ํ์ธํ ์ ์๋ค. ์ต๋จ๊ฑฐ๋ฆฌ๋ฅผ ๊ตฌํ๊ธฐ ์ํด์๋ V-1๋ฒ E๊ฐ์ ๋ชจ๋ ๊ฐ์ ์ ํ์ธํ๋ค. ์์ ์ฌ์ดํด ์กด์ฌ ์ฌ๋ถ๋ฅผ ํ์ธํ๊ธฐ ์ํด ํ ๋ฒ ๋ E๊ฐ์ ๊ฐ์ ์ ํ์ธํ๋ค. ์ด ์ฐ์ฐ ํ์ = VxE โ๏ธ ์๊ฐ ๋ณต์ก๋ = O(VE) V๋ฒ์งธ ๋ชจ๋ ๊ฐ์ ์ ํ์ธํ์ ๋ ๊ฑฐ๋ฆฌ๋ฐฐ์ด์ด ๊ฐฑ์ ๋์๋ค๋ฉด ๊ทธ๋ํ G๋ ์์ ์ฌ์ดํด์ ๊ฐ์ง๋ ๊ทธ๋ํ์ด๋ค. ์์ ๊ฐ์ด ์์ ๊ฐ์ค์น๋ฅผ ๊ฐ๊ณ ์๋ ๊ทธ๋ํ๊ฐ ์์ ๋, ๋ค์ต์คํธ๋ผ๋ก ์ ์ 1์์ ๋ชจ๋ ์ ์ ๊น์ง์ ๊ฑฐ๋ฆฌ๋ฅผ ๊ตฌํํ๋ค๋ฉด 1 โ 2 = 1 1 โ 2 โ 3 = 2 1 โ 2 โ 3 โ ..
์๊ณ ๋ฆฌ์ฆ/BOJ
โจ Binary Search + BFS/DFS https://www.acmicpc.net/problem/1939 1939๋ฒ: ์ค๋์ ํ ์ฒซ์งธ ์ค์ N, M(1 โค M โค 100,000)์ด ์ฃผ์ด์ง๋ค. ๋ค์ M๊ฐ์ ์ค์๋ ๋ค๋ฆฌ์ ๋ํ ์ ๋ณด๋ฅผ ๋ํ๋ด๋ ์ธ ์ ์ A, B(1 โค A, B โค N), C(1 โค C โค 1,000,000,000)๊ฐ ์ฃผ์ด์ง๋ค. ์ด๋ A๋ฒ ์ฌ๊ณผ B๋ฒ ์ฌ ์ฌ์ด์ ์ค๋์ ํ์ด www.acmicpc.net ๐ ๊ณ ๋ คํด์ผํ ์ ๋ ์ฌ ์ฌ์ด์ ์ฌ๋ฌ ๊ฐ์ ๋ค๋ฆฌ๊ฐ ์๊ณ ์๋ฐฉํฅ์ด๋ค. ๊ณต์ฅ์ด ์๋ ๋ ์ฌ์ ์ฐ๊ฒฐํ๋ ๊ฒฝ๋ก๊ฐ ๋ฐ๋์ ์กด์ฌํ๋ค. (๋ฐ๋์ ์กด์ฌํ๋ ๊ฒฝ๋ก์ ์
๋ ฅ๊ฐ๋ง ์ฃผ์ด์ง) ์ฎ๊ธธ ์ ์๋ ๋ฌผํ์ ์ต๋ ์ค๋ ๊ตฌํ๊ธฐ ๐น๏ธ ํ์ด๊ณผ์ 1๏ธโฃ ์
๋ ฅ๊ฐ์ผ๋ก ์ฃผ์ด์ง ๋ค๋ฆฌ ์ ๋ณด ์ ์ฅ (a์ฌ๊ณผ b์ฌ ์ฌ์ด์ ์ค๋์ ํ์ด ..
์๊ณ ๋ฆฌ์ฆ/๐๏ธ ์ ๋ฆฌ
LCA๋ Lowest Common Ancestor์ ์ฝ์๋ก ์ต์ ๊ณตํต ์กฐ์์ ์ฐพ๋ ์๊ณ ๋ฆฌ์ฆ์ด๋ค. ํธ๋ฆฌ๊ตฌ์กฐ์์ ์ฌ์ฉ๋๋ฉฐ ๋ ์ ์ u, v์์ ๊ฐ์ฅ ๊ฐ๊น์ด ๊ณตํต ์กฐ์์ ์ฐพ์ผ๋ฉด ๋๋ค. ์ด ๊ทธ๋ํ์์ 13๋ฒ ์ ์ ๊ณผ 15๋ฒ ์ ์ ์ ์ต์๊ณตํต์กฐ์์ 5๋ฒ ์ ์ ์ด๋ค. 11๋ฒ ์ ์ ๊ณผ 13๋ฒ ์ ์ ์ ์ต์๊ณตํต์กฐ์์ 1๋ฒ ์ ์ ์ด๋ค. ์ด๋ฐ ์ํฉ์์ 12๋ฒ ์ ์ ๊ณผ 14๋ฒ ์ ์ ์ ์ต์๊ณตํต์กฐ์์ 12๋ฒ ์ ์ ์ด๋ค. ๐น๏ธ LCA ๊ณผ์ 1๏ธโฃ ์
๋ ฅ๋ฐ์ ์ ์ ๊ณผ ๊ฐ์ ์ผ๋ก ์๋ฐฉํฅ ๊ทธ๋ํ (ํธ๋ฆฌ๊ตฌ์กฐ) ๋ฅผ ์์ฑํ๋ค. 2๏ธโฃ BFS๋ DFS๋ฅผ ์ฌ์ฉํ์ฌ depth๋ฅผ, DP๋ฅผ ํ์ฉํ์ฌ parent ์ ๋ณด๋ฅผ ์ ์ฅํ๋ ํธ๋ฆฌ๋ฅผ ์์ฑํ๋ค. 3๏ธโฃ LCA(u, v) ๋ฉ์๋๋ฅผ ํธ์ถํ์ฌ u์ v์ ์ต์๊ณตํต์กฐ์์ ์ฐพ๋๋ค. u์ v ์ค์์ ๊น์ด๊ฐ ๋ ๊น์ ์ ์ ์ ์์ ๊น..
์๊ณ ๋ฆฌ์ฆ/๐๏ธ ์ ๋ฆฌ
Binary Search๋ ์ ๋ ฌ๋์ด ์๋ ๋ฆฌ์คํธ์์ ํ์ ๋ฒ์๋ฅผ ์ขํ๊ฐ๋ฉฐ ์ํ๋ ๊ฐ์ ์ป๋ ์๊ณ ๋ฆฌ์ฆ์ด๋ค. ๋ฆฌ์คํธ๊ฐ ๋ฐ๋์ ์ ๋ ฌ๋์ด ์์ด์ผ ํ๋ฉฐ, 3๊ฐ์ ๋ณ์ (low, mid, high)๋ฅผ ์ฌ์ฉํด์ ๊ฐ์ ํ์ํ๋ค. ์ค์๊ฐ(mid)์ ๊ธฐ์ค์ผ๋ก ๋น๊ตํ์ฌ low์ high ๊ฐ์ ์ ํ๊ณ , ์ด ๊ณผ์ ์ ๋ฐ๋ณตํด์ ๊ฐ์ ์ป์ด๋ด๋ฉด ๋๋ค. ํ์ ๋ฒ์๊ฐ ๋ฐ์ผ๋ก ์ค์ด๋ค๋ฉด์ start์ end ๊ฐ์ ์ ํ๋ ๊ณผ์ ์ ๊ฑฐ์น๊ธฐ ๋๋ฌธ์ ์๊ฐ๋ณต์ก๋๊ฐ ๋ฎ๊ณ , ์์ฐจ์ ํ์๋ณด๋ค ๋น ๋ฅธ ํ์์ด ๊ฐ๋ฅํ๋ฏ๋ก ๋ฐฐ์ด์ ์์ ๊ฐ์๊ฐ ๋ง์ ๋ ์ฃผ๋ก ์ฌ์ฉ๋๋ค. ๐น๏ธ Binary Search ๊ณผ์ 1๏ธโฃ ๋ฐฐ์ด์ ์ค๊ฐ ๊ฐ์ ๊ณ์ฐํ์ฌ ์ฐพ๊ณ ์ ํ๋ ๊ฐ๊ณผ ๋น๊ตํ๋ค. ์ค๊ฐ ๊ฐ์ (low+high)/2 ๋ก ๊ณ์ฐํ๋ค. 2๏ธโฃ ์ค๊ฐ ๊ฐ์ด ์ฐพ๊ณ ์ ํ๋ ๊ฐ๋ณด๋ค ์๋ค๋ฉด ์ค๊ฐ๊ฐ๋ณด๋ค..
Java
Queue๋ ๋จผ์ ๋ค์ด๊ฐ ๋ฐ์ดํฐ๊ฐ ๋จผ์ ๋์ค๋ ํ์์ด๋, Priority Queue๋ ์ด์ ๋ค๋ฅด๊ฒ ๋ฐ์ดํฐ๋ฅผ ๊บผ๋ผ ๋ ์ฐ์ ์์๊ฐ ๊ฐ์ฅ ๋์ ๊ฒ๋ถํฐ ๋์ค๊ฒ ๋๋ค. ์ผ๋ฐ์ ์ธ ํ์ฒ๋ผ ์ถ๊ฐ/์ญ์ ์ฐ์ฐ์ด ์์ง๋ง, ๊ทธ ์์์ ๊ด๊ณ์์ด ์ฐ์ ์์๋ฅผ ๊ณ ๋ คํ์ฌ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์ฌ ์ ์๋ค. Priority Queue๋ ํ ๊ตฌ์กฐ(ํธ๋ฆฌ๊ตฌ์กฐ)๋ฅผ ์ด์ฉํด์ ๋ง๋ค๊ณ , ํฐ ๊ฐ์ด ์ฐ์ ์ด ๋๋ ์ต๋ํ๊ณผ ์์ ๊ฐ์ด ์ฐ์ ์ด ๋๋ ์ต์ํ์ด ์๋ค๊ณ ์๊ฐํ๋ฉด ๋๋ค. (default = ์ต์ ํ) ๐น๏ธ Priority Queue ์ฌ์ฉ๋ฒ ์ต์ ํ (์ต์๊ฐ๋ถํฐ ๋ฐฐ์ด) PriorityQueue minHeap = new PriorityQueue(); ์ต๋ ํ (์ต๋๊ฐ๋ถํฐ ๋ฐฐ์ด) PriorityQueue maxHeap = new PriorityQueue(Coll..
Spring Framework/๐ ์๋ฌ ๊ธฐ๋ก
์๋ฐ์์ stream()์ ์ฌ์ฉํด orderProductOption์ ์๋ orderProduct๋ฅผ ์ค์ ํด์ฃผ๋ ๊ณผ์ ์์ "Variable used in lambda expression should be final or effectively final" ์๋ฌ๋ฅผ ๋ํ๋ด๋ฉฐ orderProduct์ ๋นจ๊ฐ ๋ฐ์ค์ด ๊ทธ์ด์ก๋ค. ๋๋ค ํํ์ ๋ด์์ ์ฌ์ฉ๋๋ ๋ณ์๊ฐ final ๋๋ effectively final์ด ์๋๊ธฐ ๋๋ฌธ์ ๋ฐ์ํ๋ ๊ฒ์ผ๋ก ๋ณด์ธ๋ค. ๋๋ณด๊ธฐ ๐ effectively final : ๋ณ์๊ฐ ์ค์ ๋ก 'final' ๋ก ์ ์ธ๋์ด ์์ง ์๋๋ผ๋ ๋๋ค ํํ์ ๋ด์์ ํด๋น ๋ณ์์ ๊ฐ์ด ๋ณ๊ฒฝ๋์ง ์๋ ๊ฒฝ์ฐ์ด๋ค. int x = 10; Consumer consumer = (value) -> { // x = x + 5; ..