๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ

https://programmers.co.kr/learn/courses/30/lessons/42628 ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต - ์ด์ค‘์šฐ์„ ์ˆœ์œ„ํ programmers.co.kr ๋ฌธ์ œ ์ด์ค‘ ์šฐ์„ ์ˆœ์œ„ ํ๋Š” ๋‹ค์Œ ์—ฐ์‚ฐ์„ ํ•  ์ˆ˜ ์žˆ๋Š” ์ž๋ฃŒ๊ตฌ์กฐ๋ฅผ ๋งํ•ฉ๋‹ˆ๋‹ค. ๋ช…๋ น์–ด ์ˆ˜์‹  ํƒ‘(๋†’์ด) I ์ˆซ์ž ํ์— ์ฃผ์–ด์ง„ ์ˆซ์ž๋ฅผ ์‚ฝ์ž…ํ•ฉ๋‹ˆ๋‹ค. D 1 ํ์—์„œ ์ตœ๋Œ“๊ฐ’์„ ์‚ญ์ œํ•ฉ๋‹ˆ๋‹ค. D -1 ํ์—์„œ ์ตœ์†Ÿ๊ฐ’์„ ์‚ญ์ œํ•ฉ๋‹ˆ๋‹ค. ์ด์ค‘ ์šฐ์„ ์ˆœ์œ„ ํ๊ฐ€ ํ•  ์—ฐ์‚ฐ operations๊ฐ€ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ฃผ์–ด์งˆ ๋•Œ, ๋ชจ๋“  ์—ฐ์‚ฐ์„ ์ฒ˜๋ฆฌํ•œ ํ›„ ํ๊ฐ€ ๋น„์–ด์žˆ์œผ๋ฉด [0,0] ๋น„์–ด์žˆ์ง€ ์•Š์œผ๋ฉด [์ตœ๋Œ“๊ฐ’, ์ตœ์†Ÿ๊ฐ’]์„ return ํ•˜๋„๋ก solution ํ•จ์ˆ˜๋ฅผ ๊ตฌํ˜„ํ•ด์ฃผ์„ธ์š”. ์ œํ•œ ์‚ฌํ•ญ operations๋Š” ๊ธธ์ด๊ฐ€ 1 ์ด์ƒ 1,000,000 ์ดํ•˜์ธ ๋ฌธ์ž์—ด ๋ฐฐ์—ด์ž…๋‹ˆ๋‹ค. operations์˜ ์›..
TreeMap ์ด๋ž€ ? TreeMap ์€ ์ด์ง„ํŠธ๋ฆฌ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•œ Map ์ปฌ๋ ‰์…˜์ด๋‹ค. ์ •๋ ฌ ์ˆœ์„œ๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ ๋ถ€๋ชจ ํ‚ค ๊ฐ’๊ณผ ๋น„๊ตํ•ด์„œ ์ž‘์€ ๊ฒƒ์€ ์™ผ์ชฝ ์ž์‹ ๋…ธ๋“œ์—, ํฐ ๊ฒƒ์€ ์˜ค๋ฅธ์ชฝ ์ž์‹ ๋…ธ๋“œ์— ๊ฐ์ฒด๋ฅผ ์ €์žฅํ•œ๋‹ค. Map์œผ๋กœ์จ์˜ ์„ฑ๋Šฅ์ด HashMap๋ณด๋‹ค ๋–จ์–ด์ง€์ง€๋งŒ, ์ •๋ ฌ๋œ ์ƒํƒœ๋กœ Map์œ ์ง€ํ•ด์•ผ ํ•˜๊ฑฐ๋‚˜ ์ •๋ ฌ๋œ ํ…Œ์ดํ„ฐ๋ฅผ ์กฐํšŒํ•ด์•ผํ•˜๋Š” ๋ฒ”์œ„ ๊ฒ€์ƒ‰์ด ํ•„์š”ํ•œ ๊ฒฝ์šฐ์—๋Š” ํšจ์œจ์„ฑ์ด ์ข‹๋‹ค. ๋ ˆ๋“œ - ๋ธ”๋ž™ ํŠธ๋ฆฌ (Red - Black Tree) TreeMap์€ ๋ ˆ๋“œ - ๋ธ”๋ž™ ํŠธ๋ฆฌ๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ๋‹ค. ์ผ๋ฐ˜์ ์ธ ์ด์ง„ ํƒ์ƒ‰ ํŠธ๋ฆฌ๋Š” ํŠธ๋ฆฌ์˜ ๋†’์ด๋งŒํผ ์‹œ๊ฐ„์ด ํ•„์š”ํ•˜๋‹ค. ๋งŒ์•ฝ ๋ฐ์ดํ„ฐ๊ฐ€ ์ž…๋ ฅ๋  ๋•Œ, ๊ฐ’์ด ํ•œ์ชฝ์œผ๋กœ ํŽธํ–ฅ๋˜๊ฒŒ ๋“ค์–ด์˜ฌ ๊ฒฝ์šฐ ํฌ๊ฒŒ ์น˜์šฐ์ณ์ง„ ํŠธ๋ฆฌ๊ฐ€ ๋˜์–ด์„œ ๊ต‰์žฅํžˆ ๋น„ํšจ์œจ์ ์ด๋‹ค. ์ด๋Ÿฌํ•œ ๋ฌธ์ œ๋ฅผ ๋ณด์™„ํ•˜๊ธฐ ์œ„ํ•œ ๊ฒƒ์ด Red - Black Tree
https://programmers.co.kr/learn/courses/30/lessons/12900 ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต - 2 x n ํƒ€์ผ๋ง ๊ฐ€๋กœ ๊ธธ์ด๊ฐ€ 2์ด๊ณ  ์„ธ๋กœ์˜ ๊ธธ์ด๊ฐ€ 1์ธ ์ง์‚ฌ๊ฐํ˜•๋ชจ์–‘์˜ ํƒ€์ผ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ์ง์‚ฌ๊ฐํ˜• ํƒ€์ผ์„ ์ด์šฉํ•˜์—ฌ ์„ธ๋กœ์˜ ๊ธธ์ด๊ฐ€ 2์ด๊ณ  ๊ฐ€๋กœ์˜ ๊ธธ์ด๊ฐ€ n์ธ ๋ฐ”๋‹ฅ์„ ๊ฐ€๋“ ์ฑ„์šฐ๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ํƒ€์ผ์„ ์ฑ„์šธ ๋•Œ๋Š” programmers.co.kr ๋ฌธ์ œ ์„ค๋ช… ๊ฐ€๋กœ ๊ธธ์ด๊ฐ€ 2์ด๊ณ  ์„ธ๋กœ์˜ ๊ธธ์ด๊ฐ€ 1์ธ ์ง์‚ฌ๊ฐํ˜•๋ชจ์–‘์˜ ํƒ€์ผ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ์ง์‚ฌ๊ฐํ˜• ํƒ€์ผ์„ ์ด์šฉํ•˜์—ฌ ์„ธ๋กœ์˜ ๊ธธ์ด๊ฐ€ 2์ด๊ณ  ๊ฐ€๋กœ์˜ ๊ธธ์ด๊ฐ€ n์ธ ๋ฐ”๋‹ฅ์„ ๊ฐ€๋“ ์ฑ„์šฐ๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ํƒ€์ผ์„ ์ฑ„์šธ ๋•Œ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์ด 2๊ฐ€์ง€ ๋ฐฉ๋ฒ•์ด ์žˆ์Šต๋‹ˆ๋‹ค. ํƒ€์ผ์„ ๊ฐ€๋กœ๋กœ ๋ฐฐ์น˜ ํ•˜๋Š” ๊ฒฝ์šฐ ํƒ€์ผ์„ ์„ธ๋กœ๋กœ ๋ฐฐ์น˜ ํ•˜๋Š” ๊ฒฝ์šฐ ์˜ˆ๋ฅผ๋“ค์–ด์„œ n์ด 7์ธ ์ง์‚ฌ๊ฐํ˜•์€ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ฑ„์šธ ์ˆ˜..
Parametric Search ๋ž€? ์ตœ์ ํ™” ๋ฌธ์ œ (๋ฌธ์ œ์˜ ์ƒํ™ฉ์„ ๋งŒ์กฑํ•˜๋Š” ํŠน์ • ๋ณ€์ˆ˜์˜ ์ตœ์†Ÿ๊ฐ’, ์ตœ๋Œ“๊ฐ’์„ ๊ตฌํ•˜๋Š” ๋ฌธ์ œ)๋ฅผ ๊ฒฐ์ • ๋ฌธ์ œ ( decision problem )์œผ๋กœ ๋ฐ”๊พธ์–ด ํ‘ธ๋Š” ๊ฒƒ ํŒŒ๋ผ๋ฉ”ํŠธ๋ฆญ ์„œ์น˜๋Š” ๋ฌธ์ œ๋ฅผ ํ’€์–ด๋‚˜๊ฐ€๋Š” ๊ณผ์ •์ด ๋ฐ”์ด๋„ˆ๋ฆฌ ์„œ์น˜ ( ์ด๋ถ„ ํƒ์ƒ‰ ) ๊ณผ ๋งค์šฐ ํก์‚ฌํ•˜๋‹ค. โžก๏ธ ์˜์™ธ์˜ ๋ฌธ์ œ๋“ค์— ์ ์šฉ๋˜์–ด์„œ ์ตœ์ ํ™” ๋ฌธ์ œ๋“ค์„ ์กฐ๊ธˆ ๋” ์‰ฝ๊ฒŒ ํ’€ ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ค€๋‹ค. ํ•ต์‹ฌ์€ ๊ฒฐ์ • ๋ฌธ์ œ ๐Ÿ‘‰ ํ•ด๋‹น๊ฐ’์ด ์ •๋‹ต์ด ๋  ์ˆ˜ ์žˆ๋Š” ๊ฐ’์ธ์ง€ ์•„๋‹Œ์ง€๋ฅผ ์‰ฝ๊ฒŒ ํŒ๋‹จํ•  ์ˆ˜ ์žˆ์–ด์•ผ ์ตœ์ ํ™” ๋ฌธ์ œ๋ฅผ ํŒŒ๋ผ๋ฉ”ํŠธ๋ฆญ ์„œ์น˜๋กœ ํ’€ ์ˆ˜ ์žˆ๋‹ค. ๐Ÿ‘‰ ์ •๋‹ต์ด ๋  ์ˆ˜ ์žˆ๋Š” ๊ฐ’๋“ค์ด ์—ฐ์†์ ์ด์—ฌ์•ผ ํŒŒ๋ผ๋ฉ”ํŠธ๋ฆญ ์„œ์น˜๋ฅผ ์ด์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. ์ •๋‹ต์ด a์ผ ๋•Œ, a ์ด์ƒ์˜ ๊ฐ’๋“ค์€ ๋ชจ๋‘ ์กฐ๊ฑด์„ ๋งŒ์กฑํ•œ๋‹ค๋Š” ์˜๋ฏธ์‹œ๊ฐ„ ๋ณต์žก๋„ ์‹œ๊ฐ„ ๋ณต์žก๋„ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ž์ฒด๋ณด๋‹ค ์กฐ๊ฑด ํ•จ์ˆ˜๊ฐ€ ์–ผ๋งˆ๋‚˜ ๋น ๋ฅธ..
https://programmers.co.kr/learn/courses/30/lessons/1837 ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต - GPS edge_list [[1, 2], [1, 3], [2, 3], [2, 4], [3, 4], [3, 5], [4, 6], [5, 6], [5, 7], [6, 7]] programmers.co.kr ๋ฌธ์ œ ์„ค๋ช… ์นด์นด์˜ค ํƒ์‹œ ๊ฐœ๋ฐœ์ž Jay-G๋Š” ๋‹ค์Œ ์—…๋ฐ์ดํŠธ๋ฅผ ์ค€๋น„ํ•˜๊ธฐ ์œ„ํ•ด ๊ฐœ์„ ์‚ฌํ•ญ์„ ์œ„ํ•œ ์—ฌ๋Ÿฌ ํ”ผ๋“œ๋ฐฑ์„ ๋ฐ›์•˜๋‹ค. ๊ทธ์ค‘์—์„œ ์†๋‹˜์ด ์ž์ฃผ ํƒ‘์Šนํ•˜๋Š” ์œ„์น˜๋ฅผ ์ถ”์ฒœํ•ด์ฃผ์—ˆ์œผ๋ฉด ํ•œ๋‹ค๋Š” ์˜๊ฒฌ์ด ๋งŽ์•˜๋‹ค. ๋‹ค์Œ ์—…๋ฐ์ดํŠธ ์ค€๋น„๋ฅผ ์œ„ํ•ด Jay-G๋Š” ํƒ์‹œ์˜ ์Šนํ•˜์ฐจ ๋ฐ ์ด๋™ ๊ฒฝ๋กœ๋ฅผ ์ˆ˜์ง‘ํ•˜์—ฌ ๋ถ„์„ํ•˜๊ธฐ ์‹œ์ž‘ํ•˜์˜€๋‹ค. ๋ฐ์ดํ„ฐ๋ฅผ ๋ถ„์„ํ•˜๋˜ Jay-G๋Š” ๋ช‡ ๊ฐ€์ง€ ํŠน์ด์‚ฌํ•ญ์„ ๋ฐœ๊ฒฌํ–ˆ๋‹ค. ํƒ์‹œ์˜ ์ด๋™ ๊ฒฝ๋กœ๋ฅผ GPS๋ฅผ ํ†ตํ•ด ์ˆ˜์ง‘ํ•˜๊ฒŒ..
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..