Parametric Search ๋? ์ต์ ํ ๋ฌธ์ (๋ฌธ์ ์ ์ํฉ์ ๋ง์กฑํ๋ ํน์ ๋ณ์์ ์ต์๊ฐ, ์ต๋๊ฐ์ ๊ตฌํ๋ ๋ฌธ์ )๋ฅผ ๊ฒฐ์ ๋ฌธ์ ( decision problem )์ผ๋ก ๋ฐ๊พธ์ด ํธ๋ ๊ฒ ํ๋ผ๋ฉํธ๋ฆญ ์์น๋ ๋ฌธ์ ๋ฅผ ํ์ด๋๊ฐ๋ ๊ณผ์ ์ด ๋ฐ์ด๋๋ฆฌ ์์น ( ์ด๋ถ ํ์ ) ๊ณผ ๋งค์ฐ ํก์ฌํ๋ค. โก๏ธ ์์ธ์ ๋ฌธ์ ๋ค์ ์ ์ฉ๋์ด์ ์ต์ ํ ๋ฌธ์ ๋ค์ ์กฐ๊ธ ๋ ์ฝ๊ฒ ํ ์ ์๊ฒ ํด์ค๋ค. ํต์ฌ์ ๊ฒฐ์ ๋ฌธ์ ๐ ํด๋น๊ฐ์ด ์ ๋ต์ด ๋ ์ ์๋ ๊ฐ์ธ์ง ์๋์ง๋ฅผ ์ฝ๊ฒ ํ๋จํ ์ ์์ด์ผ ์ต์ ํ ๋ฌธ์ ๋ฅผ ํ๋ผ๋ฉํธ๋ฆญ ์์น๋ก ํ ์ ์๋ค. ๐ ์ ๋ต์ด ๋ ์ ์๋ ๊ฐ๋ค์ด ์ฐ์์ ์ด์ฌ์ผ ํ๋ผ๋ฉํธ๋ฆญ ์์น๋ฅผ ์ด์ฉํ ์ ์๋ค. ์ ๋ต์ด a์ผ ๋, a ์ด์์ ๊ฐ๋ค์ ๋ชจ๋ ์กฐ๊ฑด์ ๋ง์กฑํ๋ค๋ ์๋ฏธ์๊ฐ ๋ณต์ก๋ ์๊ฐ ๋ณต์ก๋ ์๊ณ ๋ฆฌ์ฆ ์์ฒด๋ณด๋ค ์กฐ๊ฑด ํจ์๊ฐ ์ผ๋ง๋ ๋น ๋ฅธ..
์๊ณ ๋ฆฌ์ฆ
https://programmers.co.kr/learn/courses/30/lessons/64064?language=java ์ฝ๋ฉํ
์คํธ ์ฐ์ต - ๋ถ๋ ์ฌ์ฉ์ ๊ฐ๋ฐํ ๋ด์์ ์ด๋ฒคํธ ๊ฐ๋ฐ์ ๋ด๋นํ๊ณ ์๋ "๋ฌด์ง"๋ ์ต๊ทผ ์งํ๋ ์นด์นด์ค์ด๋ชจํฐ์ฝ ์ด๋ฒคํธ์ ๋น์ ์์ ์ธ ๋ฐฉ๋ฒ์ผ๋ก ๋น์ฒจ์ ์๋ํ ์๋ชจ์๋ค์ ๋ฐ๊ฒฌํ์์ต๋๋ค. ์ด๋ฐ ์๋ชจ์๋ค์ ๋ฐ๋ก ๋ชจ์ ๋ถ๋ programmers.co.kr ๋ฌธ์ ๊ฐ๋ฐํ ๋ด์์ ์ด๋ฒคํธ ๊ฐ๋ฐ์ ๋ด๋นํ๊ณ ์๋ "๋ฌด์ง"๋ ์ต๊ทผ ์งํ๋ ์นด์นด์ค์ด๋ชจํฐ์ฝ ์ด๋ฒคํธ์ ๋น์ ์์ ์ธ ๋ฐฉ๋ฒ์ผ๋ก ๋น์ฒจ์ ์๋ํ ์๋ชจ์๋ค์ ๋ฐ๊ฒฌํ์์ต๋๋ค. ์ด๋ฐ ์๋ชจ์๋ค์ ๋ฐ๋ก ๋ชจ์ ๋ถ๋ ์ฌ์ฉ์๋ผ๋ ์ด๋ฆ์ผ๋ก ๋ชฉ๋ก์ ๋ง๋ค์ด์ ๋น์ฒจ ์ฒ๋ฆฌ ์ ์ ์ธํ๋๋ก ์ด๋ฒคํธ ๋น์ฒจ์ ๋ด๋น์์ธ "ํ๋ก๋" ์๊ฒ ์ ๋ฌํ๋ ค๊ณ ํฉ๋๋ค. ์ด ๋ ๊ฐ์ธ์ ๋ณด ๋ณดํธ์ ์ํด ์ฌ..
https://programmers.co.kr/learn/courses/30/lessons/67258 ์ฝ๋ฉํ
์คํธ ์ฐ์ต - ๋ณด์ ์ผํ ["DIA", "RUBY", "RUBY", "DIA", "DIA", "EMERALD", "SAPPHIRE", "DIA"] [3, 7] programmers.co.kr ๋ฌธ์ ์ค๋ช
๊ฐ๋ฐ์ ์ถ์ ์ผ๋ก ์ธ๊ณ ์ต๊ณ ์ ๊ฐ๋ถ๊ฐ ๋ ์ดํผ์น๋ ์คํธ๋ ์ค๋ฅผ ๋ฐ์ ๋๋ฉด ์ด๋ฅผ ํ๊ธฐ ์ํด ์คํ๋ผ์ธ ๋งค์ฅ์ ์ผํ์ ํ๋ฌ ๊ฐ๊ณค ํฉ๋๋ค. ์ดํผ์น๋ ์ผํ์ ํ ๋๋ฉด ๋งค์ฅ ์ง์ด๋์ ํน์ ๋ฒ์์ ๋ฌผ๊ฑด๋ค์ ๋ชจ๋ ์น์ธ์ด ๊ตฌ๋งคํ๋ ์ต๊ด์ด ์์ต๋๋ค. ์ด๋ ๋ ์คํธ๋ ์ค๋ฅผ ํ๊ธฐ ์ํด ๋ณด์ ๋งค์ฅ์ ์ผํ์ ํ๋ฌ ๊ฐ ์ดํผ์น๋ ์ด์ ์ฒ๋ผ ์ง์ด๋์ ํน์ ๋ฒ์์ ๋ณด์์ ๋ชจ๋ ๊ตฌ๋งคํ๋ ํน๋ณํ ์๋ ๋ชฉ์ ์ ๋ฌ์ฑํ๊ณ ์ถ์์ต๋๋ค. ์ง์ด๋ ๋ชจ๋ ..
https://programmers.co.kr/learn/courses/30/lessons/81303 ์ฝ๋ฉํ
์คํธ ์ฐ์ต - ํ ํธ์ง 8 2 ["D 2","C","U 3","C","D 4","C","U 2","Z","Z"] "OOOOXOOO" 8 2 ["D 2","C","U 3","C","D 4","C","U 2","Z","Z","U 1","C"] "OOXOXOOO" programmers.co.kr ๋ฌธ์ ์ค๋ช
์
๋ฌด์ฉ ์ํํธ์จ์ด๋ฅผ ๊ฐ๋ฐํ๋ ๋๋์ฆ์์ค์ ์ธํด์ธ ์๋ชฌ๋๋ ๋ช
๋ น์ด ๊ธฐ๋ฐ์ผ๋ก ํ์ ํ์ ์ ํ, ์ญ์ , ๋ณต๊ตฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ๋ ๊ณผ์ ๋ฅผ ๋งก์์ต๋๋ค. ์ธ๋ถ ์๊ตฌ ์ฌํญ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค ์ ๊ทธ๋ฆผ์์ ํ๋์์ผ๋ก ์น ํด์ง ์นธ์ ํ์ฌ ์ ํ๋ ํ์ ๋ํ๋
๋๋ค. ๋จ, ํ ๋ฒ์ ํ ํ๋ง ์ ํํ ์ ์์ผ๋ฉฐ, ํ์ ๋ฒ์(0..
https://programmers.co.kr/learn/courses/30/lessons/17678 ์ฝ๋ฉํ
์คํธ ์ฐ์ต - [1์ฐจ] ์
ํ๋ฒ์ค 10 60 45 ["23:59","23:59", "23:59", "23:59", "23:59", "23:59", "23:59", "23:59", "23:59", "23:59", "23:59", "23:59", "23:59", "23:59", "23:59", "23:59"] "18:00" programmers.co.kr ๋ฌธ์ ์ค๋ช
์นด์นด์ค์์๋ ๋ฌด๋ฃ ์
ํ๋ฒ์ค๋ฅผ ์ดํํ๊ธฐ ๋๋ฌธ์ ํ๊ต์ญ์์ ํธํ๊ฒ ์ฌ๋ฌด์ค๋ก ์ฌ ์ ์๋ค. ์นด์นด์ค์ ์ง์์ ์๋ก๋ฅผ 'ํฌ๋ฃจ'๋ผ๊ณ ๋ถ๋ฅด๋๋ฐ, ์์นจ๋ง๋ค ๋ง์ ํฌ๋ฃจ๋ค์ด ์ด ์
ํ์ ์ด์ฉํ์ฌ ์ถ๊ทผํ๋ค. ์ด ๋ฌธ์ ์์๋ ํธ์๋ฅผ ์ํด ์
ํ์ ๋ค์๊ณผ ๊ฐ์ ๊ท์น์ผ๋ก ..
๋ฌธ์ ๋ฏผํธ๋ ๋ค๋จ๊ณ ์กฐ์ง์ ์ด์ฉํ์ฌ ์นซ์์ ํ๋งคํ๊ณ ์์ต๋๋ค. ํ๋งค์์ด ์นซ์์ ํ๋งคํ๋ฉด ๊ทธ ์ด์ต์ด ํผ๋ผ๋ฏธ๋ ์กฐ์ง์ ํ๊ณ ์กฐ๊ธ์ฉ ๋ถ๋ฐฐ๋๋ ํํ์ ํ๋งค๋ง์
๋๋ค. ์ด๋์ ๋ ํ๋งค๊ฐ ์ด๋ฃจ์ด์ง ํ, ์กฐ์ง์ ์ด์ํ๋ ๋ฏผํธ๋ ์กฐ์ง ๋ด ๋๊ฐ ์ผ๋ง๋งํผ์ ์ด๋์ ๊ฐ์ ธ๊ฐ๋์ง๊ฐ ๊ถ๊ธํด์ก์ต๋๋ค. ์๋ฅผ ๋ค์ด, ๋ฏผํธ๊ฐ ์ด์ํ๊ณ ์๋ ๋ค๋จ๊ณ ์นซ์ ํ๋งค ์กฐ์ง์ด ์๋ ๊ทธ๋ฆผ๊ณผ ๊ฐ๋ค๊ณ ํฉ์๋ค. ๋ฏผํธ๋ center์ด๋ฉฐ, ํ๋์ ๋ค๋ชจ๋ ์ฌ๋ ๋ช
์ ํ๋งค์์ ํ์ํ ๊ฒ์
๋๋ค. ๊ฐ๊ฐ์ ์์ ์ ์กฐ์ง์ ์ฐธ์ฌ์ํจ ์ถ์ฒ์ธ์ ์ฐ๊ฒฐ๋์ด ํผ๋ผ๋ฏธ๋ ์์ ๊ตฌ์กฐ๋ฅผ ์ด๋ฃจ๊ณ ์์ต๋๋ค. ์กฐ์ง์ ์ด์ต ๋ถ๋ฐฐ ๊ท์น์ ๊ฐ๋จํฉ๋๋ค. ๋ชจ๋ ํ๋งค์์ ์นซ์์ ํ๋งค์ ์ํ์ฌ ๋ฐ์ํ๋ ์ด์ต์์ 10% ๋ฅผ ๊ณ์ฐํ์ฌ ์์ ์ ์กฐ์ง์ ์ฐธ์ฌ์ํจ ์ถ์ฒ์ธ์๊ฒ ๋ฐฐ๋ถํ๊ณ ๋๋จธ์ง๋ ์์ ์ด ๊ฐ์ง๋๋ค. ๋ชจ๋ ํ..
https://programmers.co.kr/learn/courses/30/lessons/49191 ์ฝ๋ฉํ
์คํธ ์ฐ์ต - ์์ 5 [[4, 3], [4, 2], [3, 2], [1, 2], [2, 5]] 2 programmers.co.kr ๋ฌธ์ n๋ช
์ ๊ถํฌ์ ์๊ฐ ๊ถํฌ ๋ํ์ ์ฐธ์ฌํ๊ณ ๊ฐ๊ฐ 1๋ฒ๋ถํฐ n๋ฒ๊น์ง ๋ฒํธ๋ฅผ ๋ฐ์์ต๋๋ค. ๊ถํฌ ๊ฒฝ๊ธฐ๋ 1๋1 ๋ฐฉ์์ผ๋ก ์งํ์ด ๋๊ณ , ๋ง์ฝ A ์ ์๊ฐ B ์ ์๋ณด๋ค ์ค๋ ฅ์ด ์ข๋ค๋ฉด A ์ ์๋ B ์ ์๋ฅผ ํญ์ ์ด๊น๋๋ค. ์ฌํ์ ์ฃผ์ด์ง ๊ฒฝ๊ธฐ ๊ฒฐ๊ณผ๋ฅผ ๊ฐ์ง๊ณ ์ ์๋ค์ ์์๋ฅผ ๋งค๊ธฐ๋ ค ํฉ๋๋ค. ํ์ง๋ง ๋ช๋ช ๊ฒฝ๊ธฐ ๊ฒฐ๊ณผ๋ฅผ ๋ถ์คํ์ฌ ์ ํํ๊ฒ ์์๋ฅผ ๋งค๊ธธ ์ ์์ต๋๋ค. ์ ์์ ์ n, ๊ฒฝ๊ธฐ ๊ฒฐ๊ณผ๋ฅผ ๋ด์ 2์ฐจ์ ๋ฐฐ์ด results๊ฐ ๋งค๊ฐ๋ณ์๋ก ์ฃผ์ด์ง ๋ ์ ํํ๊ฒ ์์๋ฅผ ๋งค๊ธธ ์ ์๋ ์ ์์ ์๋ฅผ..
Floyd-Warshall ์๊ณ ๋ฆฌ์ฆ์ด๋ ? Floyd-Warshall ์๊ณ ๋ฆฌ์ฆ์ด๋, ๋ณ์ ๊ฐ์ค์น๊ฐ ์์ด๊ฑฐ๋ ์์ธ ( ์์ ์ฌ์ดํด์ ์๋ ) ๊ฐ์ค ๊ทธ๋ํ์์ ๋ชจ๋ ์ต๋จ ๊ฒฝ๋ก๋ฅผ ๊ตฌํ๋ ๋ฐฉ๋ฒ ์ด๋ค. ๋ค์ต์คํธ๋ผ์ ๋ฒจ๋งํฌ๋ ์๊ณ ๋ฆฌ์ฆ์ ํ๋์ ์ ์ ์์ ๋ค๋ฅธ ๋ชจ๋ ์ ์ ๊น์ง์ ์ต๋จ ๊ฒฝ๋ก๋ฅผ ๊ตฌํ๋ ๋ฐฉ๋ฒ ์ด๋ค. Dijkstra ์๊ณ ๋ฆฌ์ฆ ์ ํด์ง ์ถ๋ฐ์ง vertex ์์ ๋ถํฐ ๋ค๋ฅธ ๋ชจ๋ vertex์ผ๋ก์ ์ต๋จ ๊ฒฝ๋ก๋ฅผ ๊ตฌํ๋ค. ๊ฐ์ฅ ์์ ๊ฐ์ค์น๋ฅผ ํ๋์ฉ ์ ํํด๋๊ฐ๋ค. ( ์ฐ์ ์์ ํ ์ด์ฉ ) Floyd-Warshall ์๊ณ ๋ฆฌ์ฆ ๋ชจ๋ vertex ์์ ๋ชจ๋ vertex ๋ก์ ์ต๋จ ๊ฒฝ๋ก๋ฅผ ํ๋ฒ์ ๊ตฌํ๋ค. ์ฆ, ๋ชจ๋ vertex ์์ ์ต๋จ ๊ฒฝ๋ก๋ฅผ ๊ตฌํ๋ค. ๋ชจ๋ ์์ ํํํ๋ ์ด์ฐจ์ ๋ฐฐ์ด ์ ์ ์ธํ๊ณ , Dynamic Programmi..