[BOJ][Java] 18808. ์Šคํ‹ฐ์ปค ๋ถ™์ด๊ธฐ
ยท
๐Ÿ’ญ Problem Solving/Java
๋ฌธ์ œ ์ดํ•ดn×m ๋…ธํŠธ๋ถ(paper)์— k๊ฐœ์˜ ์Šคํ‹ฐ์ปค๋ฅผ ์ฐจ๋ก€๋Œ€๋กœ ๋ถ™์ธ๋‹ค. (์šฐ์„ ์ˆœ์œ„: ์™ผ์ชฝ ์œ„)์ด๋ฏธ ๋ถ™์ธ ์นธ๊ณผ ๊ฒน์น˜๋ฉด ์•ˆ ๋˜๋ฉฐ, ํ•œ ๋ฒˆ ๋ถ™์ด๋ฉด ๊ณ ์ •.๋ชจ๋“  ์œ„์น˜์— ๋ถ™์ผ ์ˆ˜ ์—†์œผ๋ฉด ์Šคํ‹ฐ์ปค๋ฅผ 0°, 90°, 180°, 270° ํšŒ์ „ํ•˜์—ฌ ์‹œ๋„.์ตœ์ข…์ ์œผ๋กœ ์Šคํ‹ฐ์ปค๊ฐ€ ๋ถ™์€ ์นธ์˜ ์ด ๊ฐœ์ˆ˜๋ฅผ ์ถœ๋ ฅ. ํ’€์ด ํ๋ฆ„1. ํƒ์ƒ‰ํ˜„์žฌ ์Šคํ‹ฐ์ปค๋ฅผ ๋ถ™์ผ ์ˆ˜ ์žˆ๋Š” ์œ„์น˜๋ฅผ ์™ผ์ชฝ ์œ„๋ถ€ํ„ฐ ํƒ์ƒ‰ํ•œ๋‹ค.(0,0)๋ถ€ํ„ฐ (n-r, m-c)๊นŒ์ง€ ๋ถ™์ผ ์ˆ˜ ์žˆ๋Š” ์œ„์น˜๋ฅผ ์ˆœ์„œ๋Œ€๋กœ ํ™•์ธํ•œ๋‹ค.2. ์Šคํ‹ฐ์ปค ๋ถ™์ด๊ธฐ์Šคํ‹ฐ์ปค์™€ ์ข…์ด์˜ ์ถฉ๋Œ์„ ๊ฒ€์‚ฌํ•œ๋‹ค. (๋‘˜๋‹ค 1์ธ ๊ฒฝ์šฐ)ํ•ด๋‹น ์œ„์น˜์— ์Šคํ‹ฐ์ปค์˜ 1์ธ ์นธ๊ณผ ์ข…์ด์˜ 1์ธ ์นธ์ด ํ•œ ๋ฒˆ์ด๋ผ๋„ ๊ฒน์น˜๋ฉด ์‹คํŒจ (return false)์ „๋ถ€ ์•ˆ ๊ฒน์น˜๋ฉด ์ข…์ด์— ์Šคํ‹ฐ์ปค๋ฅผ ๋ถ™์ธ๋‹ค. (๋ถ™์ด๋Š” ์œ„์น˜์˜ paper ๊ฐ’ = 1)3. ํšŒ์ „์œ„์—์„œ ์Šคํ‹ฐ์ปค๋ฅผ ๋ชป ..
[BOJ][Java] 11437. LCA
ยท
๐Ÿ’ญ Problem Solving/Java
๋ฌธ์ œhttps://www.acmicpc.net/problem/11437 ๋ฌธ์ œ ํ’€์ดDFS๋กœ parent/depth ์ €์žฅ → ๊นŠ์ด ๋งž์ถ”๊ธฐ → ํ•จ๊ป˜ ์˜ฌ๋ผ๊ฐ€๋ฉด์„œ ๊ฐ™์•„์ง€๋Š” ์ง€์  ๋ฐ˜ํ™˜ ํŠธ๋ฆฌ DFS๋กœ ๊ฐ ๋…ธ๋“œ์˜ ๋ถ€๋ชจ, ๊นŠ์ด ์ €์žฅํ•˜๊ธฐ๋ฃจํŠธ๋ถ€ํ„ฐ ์ž์‹์œผ๋กœ ๋‚ด๋ ค๊ฐ€๋ฉด์„œ parent, depth ๋ฐฐ์—ด์— ์ €์žฅ๋ฃจํŠธ(1)๋Š” ๋ถ€๋ชจ๋ฅผ ์ž๊ธฐ ์ž์‹ (1)์œผ๋กœ, ๊นŠ์ด๋Š” 0์œผ๋กœ (dfs(1, 1, 0)) LCA ๊ตฌํ•˜๊ธฐ๊นŠ์ด ๋งž์ถ”๊ธฐ๋” ๊นŠ์€ ์ชฝ์„ ๋ถ€๋ชจ๋กœ ์˜ฌ๋ ค์„œ depth[a] == depth[b]๋กœ ๋งŒ๋“ฆ.๊ณตํ†ต ์กฐ์ƒ ์ฐพ๊ธฐa == b๊ฐ€ ๋  ๋•Œ๊นŒ์ง€ ๋‘˜ ๋‹ค parent๋กœ ์˜ฌ๋ผ๊ฐ.๊ฐ™์•„์ง€๋ฉด ๊ทธ ๋…ธ๋“œ๊ฐ€ LCA. ์œ ์˜ํ•  ์  (์˜ˆ์™ธ)a, b๊ฐ€ ๊ฐ™์€ ๋…ธ๋“œ์ด๊ฑฐ๋‚˜, ํ•œ์ชฝ์ด ๋‹ค๋ฅธ ์ชฝ์˜ ์กฐ์ƒ์ผ ์ˆ˜ ์žˆ๋‹ค.์ด๋•Œ LCA๋Š” ๊ทธ ๋…ธ๋“œ ์ž์‹ ์ด์–ด์•ผ ํ•œ๋‹ค. ์ž˜๋ชป๋œ ์ฝ”๋“œwhile (pare..
[BOJ][Java] 21608. ์ƒ์–ด ์ดˆ๋“ฑํ•™๊ต
ยท
๐Ÿ’ญ Problem Solving/Java
๋ฌธ์ œhttps://www.acmicpc.net/problem/21608 ๋ฌธ์ œ ์ดํ•ดN×N ๊ต์‹ค์˜ ๋นˆ ์ขŒ์„์— ํ•™์ƒ๋“ค์„ ์ˆœ์„œ๋Œ€๋กœ ์•‰ํžŒ๋‹ค.๊ฐ ํ•™์ƒ์€ ์ข‹์•„ํ•˜๋Š” 4๋ช…์˜ ์นœ๊ตฌ๊ฐ€ ์žˆ๊ณ , ์ขŒ์„ ๋ฐฐ์น˜๋Š” ์•„๋ž˜ ์šฐ์„ ์ˆœ์œ„๋ฅผ ๋”ฐ๋ฅธ๋‹ค:์ธ์ ‘ 4์นธ์— ์ข‹์•„ํ•˜๋Š” ํ•™์ƒ์ด ๊ฐ€์žฅ ๋งŽ์€ ์ž๋ฆฌ์œ„ ์กฐ๊ฑด์ด ๊ฐ™๋‹ค๋ฉด ์ธ์ ‘ ๋นˆ์นธ์ด ๋งŽ์€ ์ž๋ฆฌ๊ทธ๋ž˜๋„ ๊ฐ™๋‹ค๋ฉด ํ–‰ ๋ฒˆํ˜ธ๊ฐ€ ์ž‘์€ ์ž๋ฆฌ๊ทธ๋ž˜๋„ ๊ฐ™๋‹ค๋ฉด ์—ด ๋ฒˆํ˜ธ๊ฐ€ ์ž‘์€ ์ž๋ฆฌ๋ชจ๋“  ํ•™์ƒ์„ ๋ฐฐ์น˜ํ•œ ํ›„ ๋งŒ์กฑ๋„๋ฅผ ๊ณ„์‚ฐ:์ธ์ ‘ 4์นธ์˜ ์ข‹์•„ํ•˜๋Š” ํ•™์ƒ ์ˆ˜์— ๋”ฐ๋ฅธ ์ ์ˆ˜ = {0, 1, 10, 100, 1000} ๊ตฌํ˜„ ํ๋ฆ„์ž…๋ ฅํ•™์ƒ ๋ฐฐ์น˜ ์ˆœ์„œ students[]preferences: ๊ฐ ํ•™์ƒ → ์ข‹์•„ํ•˜๋Š” ํ•™์ƒ 4๋ช…(Set)seats: ๊ต์‹ค ์ขŒ์„ ์ƒํƒœ (N×N)๋ฐฐ์น˜findSeat(student)์—์„œ ๋ชจ๋“  ๋นˆ์นธ์„ ๊ฒ€์‚ฌํ•ด ์šฐ์„ ์ˆœ์œ„์— ๊ฐ€์žฅ ๋งž๋Š” ์ขŒ์„..
[BOJ][Java] 20056. ๋งˆ๋ฒ•์‚ฌ ์ƒ์–ด์™€ ํŒŒ์ด์–ด๋ณผ
ยท
๐Ÿ’ญ Problem Solving/Java
๋ฌธ์ œhttps://www.acmicpc.net/problem/20056 ๋ฌธ์ œ ์ดํ•ดN×N ๊ฒฉ์ž์—์„œ ํŒŒ์ด์–ด๋ณผ๋“ค์ด K๋ฒˆ ์ด๋™·ํ•ฉ์ฒด·๋ถ„๋ฆฌ๋œ๋‹ค.๊ฐ ํŒŒ์ด์–ด๋ณผ: ์œ„์น˜ (r,c), ์งˆ๋Ÿ‰ m, ์†๋ ฅ s, ๋ฐฉํ–ฅ d(0~7).ํ•œ ์นธ์— 2๊ฐœ ์ด์ƒ ๋ชจ์ด๋ฉด ํ•˜๋‚˜๋กœ ํ•ฉ์นœ ๋’ค 4๊ฐœ๋กœ ๋ถ„๋ฆฌ์ƒˆ ์งˆ๋Ÿ‰ = ⌊(ํ•ฉ ์งˆ๋Ÿ‰)/5⌋ (0์ด๋ฉด ์†Œ๋ฉธ)์ƒˆ ์†๋ ฅ = ⌊(ํ•ฉ ์†๋ ฅ)/๊ฐœ์ˆ˜⌋์ƒˆ ๋ฐฉํ–ฅ: ๋ชจ๋‘ ์ง/ํ™€๋งŒ ์žˆ์—ˆ์œผ๋ฉด {0,2,4,6}, ์„ž์—ฌ ์žˆ์œผ๋ฉด {1,3,5,7} ๊ตฌํ˜„ ํ๋ฆ„์ž…๋ ฅfireBall ๋ฆฌ์ŠคํŠธ์— ๋ชจ๋“  ํŒŒ์ด์–ด๋ณผ ์ €์žฅmap[r][c]์—๋Š” ํ•ด๋‹น ์นธ์— ์กด์žฌํ•˜๋Š” ํŒŒ์ด์–ด๋ณผ ์ €์žฅK๋ฒˆ ๋ฐ˜๋ณต์ด๋™ move()๋ชจ๋“  ํŒŒ์ด์–ด๋ณผ์„ ๋ฐฉํ–ฅ·์†๋ ฅ๋Œ€๋กœ ์ด๋™์ด๋™ ํ›„ map์— ์‚ฝ์ž…ํ•ฉ์ฒด ํ›„ 4๋ถ„๋ฆฌ divide(int r, int c)map[i][j] >= 2์ธ ์นธ๋งŒ divide(i..
[BOJ][Java] 16236. ์•„๊ธฐ ์ƒ์–ด
ยท
๐Ÿ’ญ Problem Solving/Java
๋ฌธ์ œhttps://www.acmicpc.net/problem/16236 ๋ฌธ์ œ ์ดํ•ดN×N ๊ณต๊ฐ„: ๋นˆ ์นธ(0), ๋ฌผ๊ณ ๊ธฐ(1~6), ์ƒ์–ด(9)์ƒ์–ด์˜ ํฌ๊ธฐ: 2.์ƒ์–ด๋Š” ์ž์‹ ์˜ ํฌ๊ธฐ๋ณด๋‹ค ์ž‘์€ ๋ฌผ๊ณ ๊ธฐ๋งŒ ๋จน์„ ์ˆ˜ ์žˆ๊ณ , ์ž์‹ ์˜ ํฌ๊ธฐ์™€ ๊ฐ™๊ฑฐ๋‚˜ ์ž‘์€ ์นธ์€ ์ง€๋‚˜๊ฐˆ ์ˆ˜ ์žˆ๋‹ค.๊ฐ€์žฅ ๊ฐ€๊นŒ์šด ๋ฌผ๊ณ ๊ธฐ๋ฅผ ๋จน๋Š”๋‹ค.๊ฑฐ๋ฆฌ๊ฐ€ ๊ฐ™์œผ๋ฉด ๊ฐ€์žฅ ์œ„(ํ–‰์ด ์ž‘์€) ๋ฌผ๊ณ ๊ธฐ๊ทธ๋‹ค์Œ ๊ฐ€์žฅ ์™ผ์ชฝ(์—ด์ด ์ž‘์€) ๋ฌผ๊ณ ๊ธฐ๋ฌผ๊ณ ๊ธฐ๋ฅผ ์ž์‹ ์˜ ํฌ๊ธฐ๋งŒํผ ๋จน์œผ๋ฉด ํฌ๊ธฐ๊ฐ€ 1 ์ฆ๊ฐ€๋” ์ด์ƒ ๋จน์„ ์ˆ˜ ์—†์„ ๋•Œ๊นŒ์ง€ ์ด๋™ํ•œ ์ด ์‹œ๊ฐ„(=์ด๋™ ์นธ ์ˆ˜ ํ•ฉ) ์„ ๊ตฌํ•œ๋‹ค. ์•„์ด๋””์–ด์ตœ๋‹จ๊ฑฐ๋ฆฌ ํƒ์ƒ‰: BFS๊ฑฐ๋ฆฌ → ํ–‰ → ์—ด ์šฐ์„ ์ˆœ์œ„: ์šฐ์„ ์ˆœ์œ„ ํ ๊ตฌํ˜„์ƒํƒœcurSize : ํ˜„์žฌ ์ƒ์–ด ํฌ๊ธฐ(์ดˆ๊ธฐ 2)cnt : ํ˜„์žฌ ํฌ๊ธฐ์—์„œ ๋จน์€ ๋ฌผ๊ณ ๊ธฐ ์ˆ˜(ํฌ๊ธฐ๋งŒํผ ๋จน์œผ๋ฉด ์ฆ๊ฐ€)time : ๋ˆ„์  ์ด๋™ ์‹œ๊ฐ„๋ฐฉ๋ฌธ ๋ฐฐ์—ด๊ณผ ํ..
[BOJ][Java] 2533. ์‚ฌํšŒ๋ง ์„œ๋น„์Šค(SNS)
ยท
๐Ÿ’ญ Problem Solving/Java
๋ฌธ์ œhttps://www.acmicpc.net/problem/2533 ๋ฌธ์ œ ์ดํ•ดSNS ๋„คํŠธ์›Œํฌ๋Š” ํŠธ๋ฆฌ(์‚ฌ์ดํด ์—†์Œ) ๋กœ ์ฃผ์–ด์ง„๋‹ค.์–ด๋–ค ์‚ฌ๋žŒ์ด ์ •๋ณด๋ฅผ ์ „๋‹ฌ๋ฐ›์œผ๋ ค๋ฉด ๊ทธ ์‚ฌ๋žŒ์˜ ์ด์›ƒ ์ค‘ ์ ์–ด๋„ ํ•œ ๋ช…์€ ‘์–ผ๋ฆฌ์–ด๋‹ตํ„ฐ’ ์—ฌ์•ผ ํ•œ๋‹ค.๋ชจ๋“  ์‚ฌ๋žŒ์ด ์ •๋ณด๋ฅผ ์ „๋‹ฌ๋ฐ›๋„๋ก ํ•  ๋•Œ, ํ•„์š”ํ•œ ์–ผ๋ฆฌ์–ด๋‹ตํ„ฐ์˜ ์ตœ์†Œ ์ˆ˜๋ฅผ ๊ตฌํ•œ๋‹ค.TIP: “๋ชจ๋“  ๊ฐ„์„ ๋งˆ๋‹ค ์–‘ ๋์  ์ค‘ ์ตœ์†Œ ํ•œ ์ชฝ์€ ์„ ํƒ๋˜์–ด์•ผ ํ•จ” ์ด๋ผ๊ณ  ์ƒ๊ฐํ•˜๋ฉด ์ดํ•ดํ•˜๊ธฐ ์‰ฝ๋‹ค. ํ’€์ด ์•„์ด๋””์–ด: ํŠธ๋ฆฌ DP๋ฃจํŠธ๋ฅผ 1๋กœ ์žก๊ณ  DFS๋กœ ํŠธ๋ฆฌ๋ฅผ ๋‚ด๋ ค๊ฐ€๋ฉฐ ํƒ์ƒ‰ํ•œ๋‹ค. ์ƒํƒœ ์ •์˜dp[0][node] : node๊ฐ€ ์–ผ๋ฆฌ์–ด๋‹ตํ„ฐ๊ฐ€ ์•„๋‹ ๋•Œ, node์˜ ์„œ๋ธŒํŠธ๋ฆฌ์—์„œ ํ•„์š”ํ•œ ์ตœ์†Œ ์–ผ๋ฆฌ์–ด๋‹ตํ„ฐ ์ˆ˜dp[1][node] : node๊ฐ€ ์–ผ๋ฆฌ์–ด๋‹ตํ„ฐ์ผ ๋•Œ, node์˜ ์„œ๋ธŒํŠธ๋ฆฌ์—์„œ ํ•„์š”ํ•œ ์ตœ์†Œ ์–ผ๋ฆฌ์–ด๋‹ตํ„ฐ ์ˆ˜ ์ ํ™”์‹ํ˜„์žฌ ์ •์ ..
[BOJ][Java] 15486. ํ‡ด์‚ฌ 2
ยท
๐Ÿ’ญ Problem Solving/Java
๋ฌธ์ œhttps://www.acmicpc.net/problem/15486 ๋ฌธ์ œ ์ดํ•ดN์ผ ๋™์•ˆ ๊ฐ€๋Šฅํ•œ ์ƒ๋‹ด ์ผ์ •์ด ์ฃผ์–ด์ง„๋‹ค.์ƒ๋‹ด์˜ ๊ธฐ๊ฐ„, ์ˆ˜์ตN + 1์ผ์งธ ๋˜๋Š” ๋‚  ํ‡ด์‚ฌํ•˜๊ธฐ ์œ„ํ•ด, ํ‡ด์‚ฌ ์ „(N์ผ ๋‚ด)์— ๋๋‚˜๋Š” ์ƒ๋‹ด๋“ค์„ ์„ ํƒํ•ด ์ตœ๋Œ€ ์ˆ˜์ต์„ ๊ตฌํ•œ๋‹ค.ํ•˜๋ฃจ์— ํ•˜๋‚˜์˜ ์ƒ๋‹ด๋งŒ ํ•  ์ˆ˜ ์žˆ์–ด์„œ, ์ƒ๋‹ด์„ ์‹œ์ž‘ํ•˜๋ฉด ํ•ด๋‹น ์ƒ๋‹ด ๊ธฐ๊ฐ„ ๋™์•ˆ ๋‹ค๋ฅธ ์ƒ๋‹ด์€ ํ•  ์ˆ˜ ์—†๋‹ค.๋๋‚˜๋Š” ๋‚ ์ด N์ผ์„ ๋„˜์–ด๊ฐ€๋ฉด ๊ทธ ์ƒ๋‹ด์€ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์—†๋‹ค. DP ๊ตฌํ˜„dp[i]: i์ผ๊นŒ์ง€์˜ ์ตœ๋Œ€ ์ด์ต์ „๋‚  ์ด์ต ์ €์žฅ dp[i] = max(dp[i], dp[i-1])i์ผ์— ์ƒ๋‹ด์„ ์‹œ์ž‘๋๋‚˜๋Š” ๋‚ : end = i + consults[i].t - 1ํ‡ด์‚ฌ ์ „์— ๋๋‚˜๋Š” ์ƒ๋‹ด๋งŒ ์œ ํšจ: end i - 1์ผ๊นŒ์ง€์˜ ์ตœ๋Œ€ ์ˆ˜์ต์— ์ด๋ฒˆ ์ƒ๋‹ด์˜ ์ˆ˜์ต์„ ๋”ํ•ด์„œ ์ตœ๋Œ“๊ฐ’ ๋ฐ˜์˜dp[end] = ma..
[BOJ][Java] 16930. ๋‹ฌ๋ฆฌ๊ธฐ
ยท
๐Ÿ’ญ Problem Solving/Java
๋ฌธ์ œhttps://www.acmicpc.net/problem/16930 ๋ฌธ์ œ ์ดํ•ดN×M ์ฒด์œก๊ด€์— ๋นˆ ์นธ(.)๊ณผ ๋ฒฝ(#)์ด ์žˆ๋‹ค.ํ•œ ๋ฒˆ ์ด๋™ํ•  ๋•Œ, ์ƒ·ํ•˜·์ขŒ·์šฐ ์ค‘ ํ•œ ๋ฐฉํ–ฅ์œผ๋กœ 1์นธ ์ด์ƒ k์นธ ์ดํ•˜๋ฅผ ์ด๋™ํ•  ์ˆ˜ ์žˆ๋‹ค.์‹œ์ž‘์ ์—์„œ ๋„์ฐฉ์ ๊นŒ์ง€ ์ด๋™ํ•˜๋Š” ์ตœ์†Œ ์‹œ๊ฐ„์„ ๊ตฌํ•œ๋‹ค. ๋ฌธ์ œ ํ’€์ดBFS๋ฅผ ์ด์šฉํ•˜์—ฌ ๊ฐ ์นธ์— ๋„๋‹ฌํ•˜๋Š” ์ตœ์†Œ ์‹œ๊ฐ„์„ ๊ธฐ๋กํ•œ๋‹ค.์ƒํ•˜์ขŒ์šฐ(dr, dc) ๋„ค ๋ฐฉํ–ฅ์— ๋Œ€ํ•ด 1..k์นธ ์ด๋™ํ•˜๋Š” ๊ฒฝ์šฐ๋ฅผ ํƒ์ƒ‰ํ•œ๋‹ค. ์ƒํƒœ ์ •์˜map[r][c] = -1: ๋ฏธ๋ฐฉ๋ฌธ, -2: ๋ฒฝ์œผ๋กœ ์ดˆ๊ธฐํ™”BFS ํƒ์ƒ‰ํ•˜๋ฉด์„œ ํ•ด๋‹น ์นธ์— ๋„๋‹ฌํ•œ ์ตœ์†Œ ์‹œ๊ฐ„ ์ €์žฅ ํƒ์ƒ‰ ์กฐ๊ฑด๋ฏธ๋ฐฉ๋ฌธ: map[nr][nc] == -1์ง€๊ธˆ์ด ์ฒ˜์Œ ๋„๋‹ฌ์ด๋ฏ€๋กœ map[nr][nc] = map[cur.r][cur.c] + 1๋กœ ๊ฐฑ์‹ ํ•˜๊ณ  ํ์— ๋„ฃ๋Š”๋‹ค.์ด๋ฏธ ๋” ๋น ๋ฅธ ์‹œ๊ฐ„์— ๋„..
[BOJ][Java] 14503. ๋กœ๋ด‡ ์ฒญ์†Œ๊ธฐ
ยท
๐Ÿ’ญ Problem Solving/Java
๋ฌธ์ œhttps://www.acmicpc.net/problem/14503 ๋ฌธ์ œ ์ดํ•ดN×M ํฌ๊ธฐ์˜ ๋ฐฉ์ด ์ฃผ์–ด์ง„๋‹ค.๋กœ๋ด‡ ์ฒญ์†Œ๊ธฐ๋Š” ์•„๋ž˜ ๊ทœ์น™์— ๋”ฐ๋ผ ์ž‘๋™ํ•œ๋‹ค.ํ˜„์žฌ ์œ„์น˜๋ฅผ ์ฒญ์†Œํ•œ๋‹ค.ํ˜„์žฌ ์œ„์น˜์—์„œ ์™ผ์ชฝ ๋ฐฉํ–ฅ๋ถ€ํ„ฐ ์ฐจ๋ก€๋Œ€๋กœ ํƒ์ƒ‰ํ•œ๋‹ค.์•„์ง ์ฒญ์†Œํ•˜์ง€ ์•Š์€ ๋นˆ ์นธ์ด ์žˆ์œผ๋ฉด ๊ทธ ์นธ์œผ๋กœ ์ด๋™ ํ›„ 1๋ฒˆ์œผ๋กœ ๋Œ์•„๊ฐ„๋‹ค.์—†์œผ๋ฉด ๋ฐ”๋ผ๋ณด๋Š” ๋ฐฉํ–ฅ์„ ์œ ์ง€ํ•œ ์ฑ„๋กœ ํ•œ ์นธ ํ›„์ง„ํ•  ์ˆ˜ ์žˆ์œผ๋ฉด ํ›„์ง„, ์•„๋‹ˆ๋ฉด ์ž‘๋™์„ ๋ฉˆ์ถ˜๋‹ค.์ตœ์ข…์ ์œผ๋กœ ๋กœ๋ด‡ ์ฒญ์†Œ๊ธฐ๊ฐ€ ์ฒญ์†Œํ•˜๋Š” ์นธ์˜ ๊ฐœ์ˆ˜๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค. ๋ฌธ์ œ ํ’€์ด์‹œ๋ฎฌ๋ ˆ์ด์…˜ ๊ตฌํ˜„์ฒญ์†Œํ•  ๋•Œ๋งˆ๋‹ค ์นด์šดํŠธ๋ฅผ ์ฆ๊ฐ€๋„ค ๋ฐฉํ–ฅ ์ค‘ ์ฒญ์†Œ๋˜์ง€ ์•Š์€ ์นธ์ด ์žˆ์œผ๋ฉด ํšŒ์ „ ํ›„ ์ด๋™๋„ค ๋ฐฉํ–ฅ ๋ชจ๋‘ ๋ถˆ๊ฐ€๋Šฅํ•˜๋ฉด ํ›„์ง„, ํ›„์ง„๋„ ๋ถˆ๊ฐ€๋Šฅํ•˜๋ฉด ์ข…๋ฃŒ ์ฝ”๋“œimport java.util.*;import java.io.*;public class Main { static ..
[SWEA][Java] 3421. ์ˆ˜์ œ ๋ฒ„๊ฑฐ ์žฅ์ธ
ยท
๐Ÿ’ญ Problem Solving/Java
๋ฌธ์ œhttps://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AWErcQmKy6kDFAXi SW Expert AcademySW ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์—ญ๋Ÿ‰ ๊ฐ•ํ™”์— ๋„์›€์ด ๋˜๋Š” ๋‹ค์–‘ํ•œ ํ•™์Šต ์ปจํ…์ธ ๋ฅผ ํ™•์ธํ•˜์„ธ์š”!swexpertacademy.com ๋ฌธ์ œ ์ดํ•ดN๊ฐœ์˜ ์žฌ๋ฃŒ์™€ M๊ฐœ์˜ ๊ธˆ์ง€ ์Œ์ด ์ฃผ์–ด์ง„๋‹ค.๊ธˆ์ง€ ์Œ์— ํฌํ•จ๋œ ์žฌ๋ฃŒ๋Š” ๋™์‹œ์— ๊ฐ™์€ ๋ฒ„๊ฑฐ์— ๋“ค์–ด๊ฐˆ ์ˆ˜ ์—†๋‹ค.์กฐ๊ฑด์„ ๋งŒ์กฑํ•˜๋ฉฐ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋Š” ๋ฒ„๊ฑฐ ์กฐํ•ฉ์˜ ๊ฐ€์ง“์ˆ˜๋ฅผ ๊ตฌํ•œ๋‹ค. (์•„๋ฌด ์žฌ๋ฃŒ๋„ ๋„ฃ์ง€ ์•Š์€ ๋ฒ„๊ฑฐ๋„ ๊ฐ€๋Šฅ) ๋ฌธ์ œ ํ’€์ด๐Ÿ’ก Backtracking (๋ถ€๋ถ„ ์ง‘ํ•ฉ)๊ฐ€๋Šฅํ•œ ๋ชจ๋“  ์žฌ๋ฃŒ ์กฐํ•ฉ์˜ ๊ฐœ์ˆ˜๋ฅผ ์„ธ๋Š” ๋ฌธ์ œ→ DFS๋กœ ๋ชจ๋“  ๊ฒฝ์šฐ๋ฅผ ํƒ์ƒ‰ํ•ด ์นด์šดํŠธN ≤ 20์ด๋ผ ์™„์ „ ํƒ์ƒ‰์ด ๊ฐ€๋Šฅํ•˜๋‹ค.๊ฐ ์žฌ๋ฃŒ๋ฅผ ๋„ฃ๋Š”๋‹ค/์•ˆ ..