๊ด€๋ฆฌ ๋ฉ”๋‰ด

๋ชฉ๋กํ•ญํ•ด99 (2)

Unfazedโ—๏ธ๐ŸŽฏ

[Java] ์ •๋ ฌ, ๊ทธ๋ฆฌ๋”” | ๋ฐฑ์ค€ 1083 ์†ŒํŠธ

https://www.acmicpc.net/problem/1083 ์ ‘๊ทผ ๋ฐฉ๋ฒ• : ๊ทธ๋ฆฌ๋””ํ•˜๊ฒŒ ๊ฐ ์œ„์น˜์—์„œ ํ˜„์žฌ ๋ฒ”์œ„ ๋‚ด ๊ฐ€์žฅ ํฐ ๊ฐ’์„ ์•ž์œผ๋กœ ์ด๋™์‹œํ‚จ๋‹ค.- S์˜ ์ œํ•œ ๋•Œ๋ฌธ์—, ๊ฐ€๋Šฅํ•œ ๊ตํ™˜ ํšŸ์ˆ˜(j - i  ๋‘ ์›์†Œ ๊ตํ™˜ ๊ณผ์ • :ํ˜„์žฌ ์œ„์น˜ i ์—์„œ i+1๋ถ€ํ„ฐ i+S๋ฒ”์œ„ ๋‚ด์—์„œ ๊ฐ€์žฅ ํฐ ๊ฐ’์„ ์ฐพ๋Š”๋‹ค.ํ•ด๋‹น ๊ฐ’์„ i๋กœ ์ด๋™์‹œํ‚ค๊ธฐ ์œ„ํ•ด ์ธ์ ‘ ์›์†Œ ๊ฐ„ ๊ตํ™˜์„ ๋ฐ˜๋ณตํ•œ๋‹ค. (๋ฒ„๋ธ” ์†ŒํŠธ์™€ ์œ ์‚ฌ)๊ฐ’์„ ์ด๋™ ์‹œํ‚ค๋Š” ๋ฐ ์‚ฌ์šฉํ•œ ๊ตํ™˜ ํšŸ์ˆ˜๋งŒํผ S๋ฅผ ๊ฐ์†Œ์‹œํ‚จ๋‹ค.์ข…๋ฃŒ ์กฐ๊ฑด : S๊ฐ€ 0์ด ๋˜๊ฑฐ๋‚˜, ๋ฐฐ์—ด์„ ๋๊นŒ์ง€ ํƒ์ƒ‰ํ–ˆ์„ ๊ฒฝ์šฐ ์ข…๋ฃŒ ํ•ต์‹ฌ ์ฝ”๋“œ S ์ œํ•œ ๋‚ด์—์„œ ๊ฐ€์žฅ ์™ผ์ชฝ ์ž๋ฆฌ๋ถ€ํ„ฐ ์ตœ๋Œ€ ๊ฐ’์œผ๋กœ ์ฑ„์›Œ์ฃผ๋Š” ๊ฒƒ์— ์ง‘์ค‘ํ•œ๋‹ค.๋งค ๋ฐ˜๋ณต ๋งˆ๋‹ค S-=(maxIndex - i); ๋กœ ๊ตํ™˜ํ•œ ํšŸ์ˆ˜๋งŒํผ S๋ฅผ ๊ฐ์†Œ์‹œ์ผœ์ค€๋‹ค.private static void s..

[Java] ๋‹ค์ต์ŠคํŠธ๋ผ, BFS | ๋ฐฑ์ค€ 2665 ๋ฏธ๋กœ๋งŒ๋“ค๊ธฐ

https://www.acmicpc.net/problem/2665  ์ ‘๊ทผ ๋ฐฉ๋ฒ•  ์ด ๋ฌธ์ œ๋Š” ๋‹ค์ต์ŠคํŠธ๋ผ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ํ™œ์šฉํ•˜์—ฌ ํ’€ ์ˆ˜ ์žˆ๋‹ค. ์—ฌ๊ธฐ์„œ๋Š” ๊ฐ ๋ฐฉ์„ ๋…ธ๋“œ๋กœ ๋ณด๊ณ , ๊ฒ€์€ ๋ฐฉ์—์„œ ํฐ ๋ฐฉ์œผ๋กœ ๋ณ€๊ฒฝํ•˜๋Š” ์ž‘์—…์„ ๊ฐ€์ค‘์น˜๋กœ ๊ฐ„์ฃผํ•ด ์ตœ์†Œ ๋ณ€๊ฒฝ ํšŸ์ˆ˜ ๊ฒฝ๋กœ๋ฅผ ๊ตฌํ•œ๋‹ค. ์ตœ๋‹จ ๊ฒฝ๋กœ๊ฐ€ ์•„๋‹Œ '์ตœ์†Œ ๋ณ€๊ฒฝ ํšŸ์ˆ˜'๋ฅผ ์ฐพ๋Š”๋‹ค๋Š” ์ ์ด ์ผ๋ฐ˜์ ์ธ ๋‹ค์ต์ŠคํŠธ๋ผ ์•Œ๊ณ ๋ฆฌ์ฆ˜๊ณผ์˜ ์ฐจ์ด๋‹ค. ์‹œ์ž‘๋ถ€ํ„ฐ ๋๋ฐฉ๊นŒ์ง€ ๊ฐ€๋Š” ๋™์•ˆ ๊ฒ€์€ ๋ฐฉ(0)์„ ์ตœ์†Œ๋กœ ์ง€๋‚˜์•ผ ํ•œ๋‹ค.์ฆ‰ ํฐ ๋ฐฉ(1)์„ ์ง€๋‚˜๊ฐˆ ๋•Œ๋Š” ๋น„์šฉ์ด ๋ฐœ์ƒํ•˜์ง€ ์•Š๊ณ  ๊ฒ€์€ ๋ฐฉ(0)์„ ๊ฑฐ์น  ๋•Œ๋Š” ๋น„์šฉ์ด 1 ๋งŒํผ ๋ฐœ์ƒํ•œ๋‹ค๊ณ  ๊ฐ„์ฃผํ•˜๊ณ , ์‹œ์ž‘๋ถ€ํ„ฐ ๋๋ฐฉ๊นŒ์ง€ BFS๋ฅผ ์ง„ํ–‰ํ•˜์—ฌ ์ตœ์†Œ ๋น„์šฉ์œผ๋กœ ๋๋ฐฉ์— ๋„์ฐฉํ•˜๋Š” ๊ฒฝ์šฐ๋ฅผ ๊ตฌํ•˜๋ฉด ๋œ๋‹ค. ์šฐ์„ ์ˆœ์œ„ ํ(PriorityQueue)๋ฅผ ์‚ฌ์šฉํ•ด ํ˜„์žฌ ๋ณ€๊ฒฝ ํšŸ์ˆ˜๊ฐ€ ๊ฐ€์žฅ ์ ์€ ๊ฒฝ๋กœ๋ถ€ํ„ฐ ํƒ์ƒ‰ํ•œ๋‹ค..