๋ชฉ๋กLIST (48)

J

[JAVA] BOJ ๋ฐฑ์ค€ 1202 ๋ณด์„๋„๋‘‘

ํ’€์ด ์ฒ˜์Œ ๋ณด์„์„ ์ž…๋ ฅ ๋ฐ›๊ณ  compareTo ํ•จ์ˆ˜๋ฅผ ์ด์šฉํ•˜์—ฌ ๋ณด์„์„ ๊ฐ€๋ฒผ์šด ์ˆœ์œผ๋กœ ์ •๋ ฌํ•œ๋‹ค. ์ด๋•Œ ๋ฌด๊ฒŒ๊ฐ€ ๊ฐ™๋‹ค๋ฉด ๋” ๊ฐ€์น˜์žˆ๋Š” ๊ฒƒ์„ ์•ž์— ์˜ค๊ฒŒ ํ•œ๋‹ค. ๊ฐ€๋ฐฉ์„ priorityQueue์— ์ €์žฅํ•˜์—ฌ ๊ฐ€๋ฒผ์šด ์ˆœ์œผ๋กœ ์ •๋ ฌ๋˜๊ฒŒ ํ•œ๋‹ค. ๊ฐ€๋ฐฉ์„ pq์—์„œ ๋ฝ‘์€ ๋‹ค์Œ findJewel์— ํ•ด๋‹น ๊ฐ€๋ฐฉ๋ณด๋‹ค ์ž‘์€ ๋ณด์„๋งŒ ๋„ฃ์–ด์ฃผ๋„๋ก for๋ฌธ์„ ํ†ตํ•ด ๊ฐฑ์‹ ํ•ด์ค€๋‹ค. findJewel์€ ๊ฐ€์น˜๊ฐ€ ๋†’์€ ์ˆœ์œผ๋กœ ์ •๋ ฌ๋œ๋‹ค. ํ•ด๋‹น ๊ฐ€๋ฐฉ์— ๋„ฃ์„ ํ›„๋ณด ๋ณด์„์ด ์•„์˜ˆ ์—†์„ ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ findJewel์ด empty์ธ ๊ฒฝ์šฐ continue ์ฒ˜๋ฆฌ๋ฅผ ํ•œ๋‹ค. pq๋ฅผ ํ†ตํ•ด ๋ฝ‘์€ ๋ณด์„์€ ๊ทธ ์ค‘ ๊ฐ€์žฅ ๊ฐ€์น˜์žˆ๋Š” ๋ณด์„์ด๋ฏ€๋กœ ๋ฐ”๋กœ result์— ๋”ํ•ด์ค€๋‹ค. ์ „์ฒด ์ฝ”๋“œ import java.io.*; import java.util.*; public class Main { s..

[JAVA] BOJ ๋ฐฑ์ค€ 2842 ์ง‘๋ฐฐ์› ํ•œ์ƒ๋•

ํ’€์ด BFS๋กœ ๋ฌธ์ œ ํ’€์ด๋ฅผ ํ• ๋•Œ ํˆฌํฌ์ธํ„ฐ๋ฅผ ํ™œ์šฉํ•˜๋Š” ๋ฌธ์ œ์ด๋‹ค. ํˆฌํฌ์ธํ„ฐ๋ฅผ ์ด์šฉํ•˜์—ฌ ๊ฐ€์žฅ ๋†’์€ ๊ณ ๋„์™€ ๊ฐ€์žฅ ๋‚ฎ์€ ๊ณ ๋„๋ฅผ ์ง€์ •ํ•˜์—ฌ ๊ทธ ์‚ฌ์ด์—์„œ๋งŒ BFS๋ฅผ ํ•˜๋„๋ก ํ•  ๊ฒƒ์ด๋‹ค. isDelivery ํ•จ์ˆ˜๋ฅผ ํ†ตํ•ด์„œ ์ •ํ•ด์ง„ ๊ณ ๋„ ๋‚ด์—์„œ ๋ฐฉ๋ฌธํ•  ์ˆ˜ ์žˆ๋Š” ์ง‘์˜ ๊ฐœ์ˆ˜๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค. ๋ฐฉ๋ฌธํ•ด์•ผ ํ•˜๋Š” ์ง‘์˜ ๊ฐœ์ˆ˜์™€ ๋ฐฉ๋ฌธํ•  ์ˆ˜ ์žˆ๋Š” ์ง‘์˜ ๊ฐœ์ˆ˜๊ฐ€ ๊ฐ™๋‹ค๋ฉด ๊ณ ๋„์˜ ์ฐจ์ด๋ฅผ ์ค„์ด๊ธฐ ์œ„ํ•ด์„œ low๋ฅผ ๊ฐ€๋ฆฌํ‚ค๊ณ  ์žˆ๋Š” minIndex์˜ ๊ฐ’์„ ์ฆ๊ฐ€์‹œํ‚จ๋‹ค. ๋งŒ์•ฝ ๋ฐฉ๋ฌธํ•  ์ˆ˜ ์žˆ๋Š” ์ง‘์˜ ๊ฐœ์ˆ˜๊ฐ€ ๋” ์ž‘๋‹ค๋ฉด high๋ฅผ ๊ฐ€๋ฆฌํ‚ค๊ณ  ์žˆ๋Š” maxIndex์˜ ๊ฐ’์„ ์ฆ๊ฐ€์‹œํ‚จ๋‹ค. ์ „์ฒด ์ฝ”๋“œ import java.io.*; import java.util.*; public class Main { static int N; static char[][] map; static in..