[BOJ | Java] 14500 - ํ…ŒํŠธ๋กœ๋ฏธ๋…ธ
ยท
Problem Solving/Online Judge
๐Ÿ’ฌ ๋ฌธ์ œ ์„ค๋ช…๋‹ค์Œ๊ณผ ๊ฐ™์ด 4๊ฐœ์˜ ์ •์‚ฌ๊ฐํ˜•์„ ์ด์šฉํ•˜์—ฌ ๋ณ€๋ผ๋ฆฌ ์—ฐ๊ฒฐ๋˜๋„๋ก ๋งŒ๋“  ๋ชจ์–‘์„ 'ํ…ŒํŠธ๋กœ๋ฏธ๋…ธ'๋ผ๊ณ  ํ•œ๋‹ค.`N` x `M` ์ข…์ด์—์„œ ํ…ŒํŠธ๋กœ๋ฏธ๋…ธ ๋ชจ์–‘์— ๋งž๋Š” ์นธ ์ค‘์—์„œ ๊ทธ ์นธ์— ์ ํžŒ ์ˆ˜๋“ค์˜ ํ•ฉ์ด ์ตœ๋Œ€๊ฐ€ ๋˜๋Š” ๊ฒฝ์šฐ๋ฅผ ์ฐพ๊ณ ์ž ํ•œ๋‹ค.๐Ÿ“Œ ํ•ต์‹ฌ ํฌ์ธํŠธ4 ≤ `N`, `M` ≤ 500์ด๋ฏ€๋กœ `N` x `M`์€ ์ตœ๋Œ€ 250,000,ํ…ŒํŠธ๋กœ๋ฏธ๋…ธ ๋ชจ์–‘์„ ๋งŒ๋“œ๋Š”๋ฐ ํ•„์š”ํ•œ ์นธ์ˆ˜๋Š” 4๊ฐœ์ด๋ฏ€๋กœ,๊ฐ ์นธ์„ ์ˆœํšŒํ•˜๋ฉด์„œ ํ…ŒํŠธ๋กœ๋ฏธ๋…ธ ๋ชจ์–‘์— ๋งž๋Š” ์นธ์„ ํ™•์ธํ•˜๋ฉด,250,000 x 4^3 = 16,000,000๋ฒˆ ์ •๋„์˜ ์—ฐ์‚ฐ์ด ๋ฐœ์ƒํ•˜๋ฏ€๋กœ(4๋ฐฉํ–ฅ ํƒ์ƒ‰, DFS ๊นŠ์ด๊ฐ€ 3(์‹œ์ž‘ ์นธ ์ œ์™ธ) → 4^3)→ DFS์„ ํ™œ์šฉํ•œ ์™„์ „ํƒ์ƒ‰์œผ๋กœ ๊ฐ€๋Šฅํ•œ ๋ชจ๋“  ํ…ŒํŠธ๋กœ๋ฏธ๋…ธ ๋ฐฐ์น˜๋ฅผ ํƒ์ƒ‰ํ•  ์ˆ˜ ์žˆ์Œ๋˜ํ•œ, DFS์—์„œ ๋ฐฑํŠธ๋ž˜ํ‚น์„ ํ™œ์šฉํ•ด์„œ ์ค‘๋ณต ์—ฐ์‚ฐ์„ ์ค„์ผ ์ˆ˜ ์žˆ์Œ(๊ฐˆ๋ž˜๊ฐ€..
[BOJ | Java] 14499 - ์ฃผ์‚ฌ์œ„ ๊ตด๋ฆฌ๊ธฐ
ยท
Problem Solving/Online Judge
๐Ÿ’ฌ ๋ฌธ์ œ ์„ค๋ช…`N` x `M` ํฌ๊ธฐ์— ์ง€๋„๊ฐ€ ์žˆ๊ณ  `(x, y)` ์นธ์— ์ฃผ์‚ฌ์œ„๊ฐ€ ์œ„์น˜ํ•œ๋‹ค. ์ฃผ์‚ฌ์œ„์˜ 6๋ฉด์€ 0์œผ๋กœ ์ดˆ๊ธฐํ™”๋˜์–ด ์žˆ๋‹ค.์ฃผ์‚ฌ์œ„๋ฅผ ๋™, ์„œ, ๋‚จ, ๋ถ ๋ฐฉํ–ฅ์œผ๋กœ ๊ตด๋ ค์„œ ์ด๋™์‹œํ‚ฌ ๋•Œ, ์ฃผ์‚ฌ์œ„์˜ ๋ฐ”๋‹ฅ๋ฉด๊ณผ ๋งž๋‹ฟ๋Š” ์ง€๋„์นธ์— ์ ํžŒ ์ˆ˜๊ฐ€ 0์ด๋ฉด ์ฃผ์‚ฌ์œ„์˜ ๋ฐ”๋‹ฅ๋ฉด์— ์ ํžŒ ๊ฐ’์„ ์ง€๋„์นธ์— ๋ณต์‚ฌํ•œ๋‹ค. ์ง€๋„์นธ์— 0์ด ์•„๋‹Œ ์ˆ˜๊ฐ€ ์ ํ˜€ ์žˆ๋‹ค๋ฉด ๊ทธ ์ˆ˜๋ฅผ ์ฃผ์‚ฌ์œ„ ๋ฐ”๋‹ฅ๋ฉด์œผ๋กœ ๋ณต์‚ฌํ•˜๊ณ  0์œผ๋กœ ๋งŒ๋“ ๋‹ค.์ฃผ์‚ฌ์œ„๋ฅผ ๊ตด๋ฆด ๋•Œ๋งˆ๋‹ค ์ฃผ์‚ฌ์œ„์˜ ์œ—๋ฉด์— ์ ํžŒ ์ˆ˜๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค.๋‹จ, ์ฃผ์‚ฌ์œ„๊ฐ€ ์ง€๋„ ๋ฐ”๊นฅ์œผ๋กœ ๋‚˜๊ฐ€๊ฒŒ ๋˜๋Š” ๊ฒฝ์šฐ๋Š” ๋ฌด์‹œํ•˜๋ฉฐ ์ถœ๋ ฅ๋„ ํ•˜์ง€ ์•Š๋Š”๋‹ค.๐Ÿ“Œ ํ•ต์‹ฌ ํฌ์ธํŠธ์ฃผ์‚ฌ์œ„์˜ 6๋ฉด์— ์ ํžŒ ๊ฐ’๋“ค์€ ์ €์žฅํ•˜๋Š” 1์ฐจ์› ๋ฐฐ์—ด ์ •์˜dice[6]: ๊ฐ ์ธ๋ฑ์Šค๋Š” ์ฃผ์‚ฌ์œ„์˜ ์œ„์น˜๋ฅผ ํ‘œํ˜„(0: ์œ—๋ฉด, 5: ๋ฐ”๋‹ฅ๋ฉด) 13 0 2 (5) 4 5๋™, ์„œ, ๋‚จ,..
[BOJ | Java] 3190 - ๋ฑ€
ยท
Problem Solving/Online Judge
๐Ÿ’ฌ ๋ฌธ์ œ ์„ค๋ช…๋ฑ€์ด ์ด๋™ํ•˜๋ฉด์„œ ์‚ฌ๊ณผ๋ฅผ ๋จน์œผ๋ฉด ๋ชธ์˜ ๊ธธ์ด๊ฐ€ ๊ธธ์–ด์ง€๊ณ , ๋ฒฝ์ด๋‚˜ ์ž์‹ ์˜ ๋ชธ๊ณผ ๋งŒ๋‚˜๋ฉด ๋๋‚˜๋Š” ๊ฒŒ์ž„์„ ์ง„ํ–‰ํ•œ๋‹ค.ํŠน์ • ์‹œ๊ฐ„์—์„œ ํšŒ์ „ํ•˜๋Š” ์กฐ๊ฑด์ด ์ฃผ์–ด์งˆ ๋•Œ, ๋ช‡ ์ดˆ ํ›„์— ๊ฒŒ์ž„์ด ๋๋‚˜๊ฒŒ ๋˜๋Š”์ง€ ๊ตฌํ•˜๋Š” ๋ฌธ์ œ์ด๋‹ค.๐Ÿ“Œ ํ•ต์‹ฌ ํฌ์ธํŠธ๋ฑ€์€ ๋จธ๋ฆฌ์™€ ๊ผฌ๋ฆฌ๊ฐ€ ์žˆ๊ณ  ๋ชธ์˜ ๊ธธ์ด๊ฐ€ ๋Š˜์–ด๋‚˜๊ณ  ์ค„์–ด๋“ค ์ˆ˜ ์žˆ๋‹ค.→ Deque ํ™œ์šฉ(๋ชธ์ด ๊ธธ์–ด์งˆ ๋•Œ ๋จธ๋ฆฌ ์ชฝ์„ ๋Š˜๋ฆฌ๊ณ , ๋ชธ์ด ์งง์•„์งˆ ๋•Œ๋Š” ๊ผฌ๋ฆฌ ์ชฝ์„ ์ค„์ธ๋‹ค)(๊ผฌ๋ฆฌ/๋’ค)---------Deque--------->(๋จธ๋ฆฌ/์•ž) ๋ฑ€์€ ๋จธ๋ฆฌ๊ฐ€ ํ–ฅํ•˜๋Š” ๋ฐฉํ–ฅ์œผ๋กœ ์ด๋™ํ•œ๋‹ค.→ ์ด๋™ํ•  ๋ฐฉํ–ฅ์ด ์ •ํ•ด์ ธ ์žˆ์œผ๋ฏ€๋กœ BFS/DFS๊ฐ€ ์•„๋‹Œ ์‹œ๋ฎฌ๋ ˆ์ด์…˜๋ฐฉํ–ฅ ์ •๋ณด์— ๋”ฐ๋ผ ๋จธ๋ฆฌ ๋ฐฉํ–ฅ์„ ํšŒ์ „ํ•œ๋‹ค.L: ์™ผ์ชฝ์œผ๋กœ 90๋„ ํšŒ์ „(๋ฐ˜์‹œ๊ณ„ ๋ฐฉํ–ฅ)D: ์˜ค๋ฅธ์ชฝ์œผ๋กœ 90๋„ ํšŒ์ „(์‹œ๊ณ„ ๋ฐฉํ–ฅ)๐Ÿ’ซ ๋ฌธ์ œ ํ’€์ด๋ฑ€์˜ ๋ชธํ†ต ์œ„์น˜ ์ •๋ณด๋ฅผ ๋ฑ์œผ๋กœ ..
[BOJ | Java] 13460 - ๊ตฌ์Šฌ ํƒˆ์ถœ 2
ยท
Problem Solving/Online Judge
๐Ÿ’ฌ ๋ฌธ์ œ ์„ค๋ช…๋ณด๋“œ ์œ„์— ๋นจ๊ฐ„ ๊ตฌ์Šฌ(`R`)๊ณผ ํŒŒ๋ž€ ๊ตฌ์Šฌ(`B`)์ด ๋†“์—ฌ ์žˆ๋‹ค. ์ƒ/ํ•˜/์ขŒ/์šฐ ์ค‘ ํ•œ ๋ฐฉํ–ฅ์œผ๋กœ ๊ธฐ์šธ์ด๋ฉด ๋‘ ๊ตฌ์Šฌ์ด ๋™์‹œ์— ํ•ด๋‹น ๋ฐฉํ–ฅ์œผ๋กœ ๊ตด๋Ÿฌ๊ฐ„๋‹ค. ์ด๋•Œ ๋นจ๊ฐ„ ๊ตฌ์Šฌ๋งŒ ๊ตฌ๋ฉ์— ๋„ฃ์œผ๋ ค๊ณ  ํ•  ๋•Œ ๋ณด๋“œ๋ฅผ ์›€์ง์ด๋Š” ํšŸ์ˆ˜๋ฅผ 10๋ฒˆ ์ดํ•˜๋กœ ํ•˜๋Š” ์ตœ์†Œ ํšŸ์ˆ˜๋ฅผ ๊ตฌํ•œ๋‹ค.๐Ÿ“Œ ํ•ต์‹ฌ ํฌ์ธํŠธ๋‘ ๊ตฌ์Šฌ์€ ๋™์‹œ์— ์ด๋™ํ•œ๋‹ค.์ด๋™ ์ˆœ์„œ์— ๋”ฐ๋ผ ๊ฒฐ๊ณผ๊ฐ€ ๋‹ฌ๋ผ์งˆ ์ˆ˜๋„ ์žˆ๋‹ค.๋‘ ๊ตฌ์Šฌ์ด ๊ฐ™์€ ์นธ์— ๋„์ฐฉํ•  ์ˆ˜ ์žˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•˜์—ฌ, ์ถฉ๋Œ ๋ณด์ • ๋กœ์ง์ด ํ•„์š”ํ•˜๋‹ค→ ์œ„ ์ƒํ™ฉ์„ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•œ ์ด์œ ๋Š” ๋‘ ๊ตฌ์Šฌ์ด ๋™์‹œ์— ๊ตฌ๋ฉ์— ๋“ค์–ด๊ฐ€๋Š” ๊ฒฝ์šฐ๋„ ์ƒ๊ฐํ•ด์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์—!ํŒŒ๋ž€ ๊ตฌ์Šฌ์ด ๊ตฌ๋ฉ์— ๋น ์ง€๋Š” ๊ฒฝ์šฐ๋Š” ๋ฌด์กฐ๊ฑด ์‹คํŒจ→ ๋”ฐ๋ผ์„œ ๋นจ๊ฐ„ ๊ตฌ์Šฌ๋ณด๋‹ค ๋จผ์ € ๊ตฌ๋ฉ ๋„์ฐฉ ์—ฌ๋ถ€๋ฅผ ํ™•์ธํ•œ๋‹ค.๐Ÿ’ซ ๋ฌธ์ œ ํ’€์ด1. ์ƒ, ํ•˜, ์ขŒ, ์šฐ ๋ฐฉํ–ฅ์œผ๋กœ ๋‘ ๊ตฌ์Šฌ ๊ตด๋ฆฌ๊ธฐ`move()`: ๊ตฌ์Šฌ์˜..
[BOJ | Java] 2014 - ์†Œ์ˆ˜์˜ ๊ณฑ
ยท
Problem Solving/Online Judge
๐Ÿ’ฌ ๋ฌธ์ œ ์„ค๋ช…์„œ๋กœ ๋‹ค๋ฅธ `K`๊ฐœ์˜ ์†Œ์ˆ˜๊ฐ€ ์ฃผ์–ด์ง„๋‹ค.์ด ์†Œ์ˆ˜๋“ค์„ ์ค‘๋ณต ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•˜์—ฌ ๊ณฑํ•ด ๋งŒ๋“ค ์ˆ˜ ์žˆ๋Š” ์ˆ˜๋“ค์„ ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ๋‚˜์—ดํ•  ๋•Œ `N`๋ฒˆ์งธ ์ˆ˜๋ฅผ ๊ตฌํ•˜๋Š” ๋ฌธ์ œ์ด๋‹ค.๐Ÿ“Œ ํ•ต์‹ฌ ํฌ์ธํŠธ๋‹จ์ˆœํžˆ ๋ชจ๋“  ๊ฐ€๋Šฅํ•œ ์ˆ˜๋ฅผ ๋งŒ๋“ค์–ด์„œ ์ •๋ ฌํ•œ ๋’ค `N`๋ฒˆ์งธ๋ฅผ ๊ณ ๋ฅด๋ฉด ๋ฉ”๋ชจ๋ฆฌ ์ดˆ๊ณผ ๋ฐœ์ƒ ๐Ÿšจ๊ณฑ์œผ๋กœ ๋งŒ๋“ค์–ด์ง€๋Š” ์ˆ˜์˜ ๊ฐœ์ˆ˜๋Š” ๊ธฐํ•˜๊ธ‰์ˆ˜์ ์œผ๋กœ ์ฆ๊ฐ€ํ•˜๊ณ , ์ค‘๋ณต๋˜๋Š” ๊ฐ’๋„ ๋งค์šฐ ๋งŽ์ด ์ƒ์„ฑ๋˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.๋”ฐ๋ผ์„œ ์ด ๋ฌธ์ œ๋Š” ํ•„์š” ์—†๋Š” ์ˆ˜๋ฅผ ์•„์˜ˆ ๋งŒ๋“ค์ง€ ์•Š๋Š” ๊ฒƒ์ด ํ•ต์‹ฌ!๐Ÿ’ซ ๋ฌธ์ œ ํ’€์ด1. PriorityQueue(MinHeap) ํ™œ์šฉ์–ด๋–ค ์ˆ˜ `a`, `b`๊ฐ€ ์žˆ์„ ๋•Œ, `a^2`์ด `a x b`๋ณด๋‹ค ํฐ์ง€ ์ผ์ผ์ด ํŒ๋ณ„ํ•˜๊ธฐ ์–ด๋ ต๊ธฐ ๋•Œ๋ฌธ์—, ์ด๋Ÿฐ ๋ฌธ์ œ๋Š” ํž™(Heap)์„ ๋– ์˜ฌ๋ ค์ค˜์•ผ ํ•œ๋‹ค. ํ•ญ์ƒ ์ž‘์€ ์ˆ˜๋ถ€ํ„ฐ ๊บผ๋‚ด๊ธฐ ์œ„ํ•ด ํ™œ์šฉํ•œ๋‹ค.ํž™์„ ์‚ฌ์šฉํ•˜๊ธฐ๋กœ ํ–ˆ๋‹ค๋ฉด ์ด์ œ..
[BOJ | Java] 2437 - ์ €์šธ
ยท
Problem Solving/Online Judge
๐Ÿ’ฌ ๋ฌธ์ œ ์„ค๋ช…`N` ๊ฐœ์˜ ์ถ”๋“ค์ด ์ฃผ์–ด์งˆ ๋•Œ, ์ด ์ถ”๋“ค์„ ์ด์šฉํ•ด ์ธก์ •ํ•  ์ˆ˜ ์—†๋Š” ๊ฐ€์žฅ ์ž‘์€ ์–‘์˜ ์ •์ˆ˜ ๋ฌด๊ฒŒ๋ฅผ ๊ตฌํ•˜๋Š” ๋ฌธ์ œ์ด๋‹ค.๐Ÿ“Œ ํ•ต์‹ฌ ํฌ์ธํŠธ๋ชจ๋“  ๋ฌด๊ฒŒ๋ฅผ ์ง์ ‘ ๋งŒ๋“ค์–ด๋ณด๋Š” ๋ฐฉ์‹(๋ถ€๋ถ„์ง‘ํ•ฉ ํƒ์ƒ‰)์€ ์‹œ๊ฐ„ ์ดˆ๊ณผ"์–ด๋–ค ๋ฌด๊ฒŒ๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋Š”๊ฐ€?"๋ณด๋‹ค "์–ด๋””๊นŒ์ง€ ์—ฐ์†์œผ๋กœ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋Š”๊ฐ€?"๋ฅผ ์ƒ๊ฐํ•ด์•ผ ํ•œ๋‹ค.๐Ÿ’ซ ๋ฌธ์ œ ํ’€์ด์ด ๋ฌธ์ œ๋Š” ๊ทธ๋ฆฌ๋”” ์•Œ๊ณ ๋ฆฌ์ฆ˜์œผ๋กœ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋‹ค.ํ˜„์žฌ๊นŒ์ง€ `1 ~ X` ๊นŒ์ง€์˜ ๋ชจ๋“  ๋ฌด๊ฒŒ๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค๊ณ  ํ•˜์ž. (`X`๋Š” ๋งŒ๋“ค ์ˆ˜ ์žˆ๋Š” ๊ฐ’์˜ ์ƒํ•œ)์ด๋•Œ ๋‹ค์Œ ์ถ”์˜ ๋ฌด๊ฒŒ๊ฐ€ `w` ์ผ ๋•Œ,`w ≤ X + 1`์ด๋ผ๋ฉด → `1 ~ (X + w)` ๊นŒ์ง€ ์—ฐ์†์œผ๋กœ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค.(`w = X + 1` ์ด๋ฉด ๋‚˜๋จธ์ง€ ์ถ”๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ณ  `w` ๋งŒ ์‚ฌ์šฉํ•ด์„œ `X + 1`๋ฅผ ๋งŒ๋“ฆ) ํ˜น์€`w > X + 1`์ด๋ผ๋ฉด → ..