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

๋ชฉ๋ก๋ฌธ์ œ ํ•ด๊ฒฐ (PS) (27)

Unfazedโ—๏ธ๐ŸŽฏ

[Java] ๋„ˆ๋น„ ์šฐ์„  ํƒ์ƒ‰ BFS| ๋ฐฑ์ค€ 1240 ๋…ธ๋“œ์‚ฌ์ด์˜ ๊ฑฐ๋ฆฌ

https://www.acmicpc.net/problem/1240  ์ด ๋ฌธ์ œ๋Š” ํŠธ๋ฆฌ์—์„œ ๋‘ ๋…ธ๋“œ ๊ฐ„์˜ ๊ฑฐ๋ฆฌ๋ฅผ ๊ตฌํ•˜๋Š” ๋ฌธ์ œ๋กœ, BFS(๋„ˆ๋น„ ์šฐ์„  ํƒ์ƒ‰)๋ฅผ ํ™œ์šฉํ•˜์—ฌ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค.  ์ ‘๊ทผ ๋ฐฉ์‹์ธ์ ‘ ๋ฆฌ์ŠคํŠธ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํŠธ๋ฆฌ๋ฅผ ํ‘œํ˜„์–‘๋ฐฉํ–ฅ ๊ฐ„์„ ์œผ๋กœ ์ฒ˜๋ฆฌ (ํŠธ๋ฆฌ๋Š” ์–‘์ชฝ์œผ๋กœ ์ด๋™ ๊ฐ€๋Šฅ)Edge ํด๋ž˜์Šค๋ฅผ ์ •์˜ํ•˜์—ฌ ๋ชฉ์ ์ง€ ๋…ธ๋“œ์™€ ๊ฐ€์ค‘์น˜ ์ •๋ณด๋ฅผ ํ•จ๊ป˜ ์ €์žฅstatic class Edge { int to; int weight; public Edge(int to, int weight) { this.to = to; this.weight = weight; }} BFS๋ฅผ ์ด์šฉํ•œ ๊ฑฐ๋ฆฌ ๊ณ„์‚ฐ ์‹œ์ž‘ ๋…ธ๋“œ๋ถ€ํ„ฐ BFS๋ฅผ ์ˆ˜ํ–‰ํ•˜์—ฌ ๊ฐ ๋…ธ๋“œ๊นŒ์ง€์˜ ๊ฑฐ๋ฆฌ๋ฅผ ๊ณ„์‚ฐdistance ๋ฐฐ์—ด์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐ ๋…ธ๋“œ..

[Java] ํ”Œ๋กœ์ด๋“œ-์›Œ์…œ, DFS | ๋ฐฑ์ค€ 2458 ํ‚ค ์ˆœ์„œ

https://www.acmicpc.net/problem/2458 ์ ‘๊ทผ ๋ฐฉ๋ฒ• ์ฒซ์ ‘๊ทผ(์‹คํŒจ)๋ฌธ์ œ ์œ ํ˜•์„ ๋ณด์ง€ ์•Š๊ณ  ํ’€์–ด๋ณด์•˜์„ ๋•Œ ์ผ์ฐจ์› ํ…Œ์ด๋ธ”์„ ๋งŒ๋“ค๊ณ ๊ด€๊ณ„๊ฐ€ ์ฃผ์–ด์งˆ ๋•Œ, a > b์ธ ๊ฒฝ์šฐ, ๋ฐฐ์—ด์—์„œ b๋ณด๋‹ค ํฐ ํ•™์ƒ ์ˆ˜๋ฅผ a์˜ ์œ„์น˜์— ๋ˆ„์ ํ•˜์—ฌ ๊ธฐ๋ก๋งŒ์•ฝ ์ด๋ฏธ ๋ˆ„์ ๋œ ๊ฐ’์ด ํฌ๋‹ค๋ฉด ํ•ด๋‹น ๊ด€๊ณ„๋Š” ๋ฌด์‹œํ•จ๋ฐฐ์—ด์˜ ์ตœ์ข… ๊ฐ’์ด ์œ ์ผ(unique)ํ•˜๋‹ค๋ฉด, ํ•ด๋‹น ํ•™์ƒ์˜ ์ˆœ์œ„๋ฅผ ์•Œ ์ˆ˜ ์žˆ๋‹ค.ํ•˜์ง€๋งŒ ์ด ๋ฐฉ๋ฒ•์€ ๊ฐ„์ ‘ ๊ด€๊ณ„ ํ™•์ธ ๋ถˆ๊ฐ€ ๋“ฑ์˜ ์ด์œ ๋กœ ์‹ค์ œ ์ˆœ์œ„๋ฅผ ๋ณด์žฅํ•˜๊ธฐ ์ถฉ๋ถ„ํ•˜์ง€ ์•Š์•˜๋‹ค. ์ฒซ๋ฒˆ์งธ ๋ฐฉ๋ฒ•(ํ”Œ๋กœ์ด๋“œ-์›Œ์…œ) ๋ฌธ์ œ ์œ ํ˜•์ด ํ”Œ๋กœ์ด๋“œ-์›Œ์…œ์ธ ๊ฒƒ์„ ํ™•์ธํ•œ ๋’ค ํ’€์–ด๋ณด์•˜๋‹ค.์ฒ˜์Œ์—” int[] ๋ฐฐ์—ด๋กœ ํ’€์ดํ–ˆ๋‹ค๊ฐ€ ์ž์‹ ๋ณด๋‹ค ํฐ ์‚ฌ๋žŒ์„ true๋กœ ์ฒดํฌํ•˜๋Š” boolean[] ๋ฐฐ์—ด๋กœ ๋ฐ”๊พธ์–ด์„œ ์ฝ”๋“œ๋ฅผ ๋” ๊ฐ„๊ฒฐํ•˜๊ฒŒ ๋ฐ”๊ฟ€ ์ˆ˜ ์žˆ์—ˆ๋‹ค.int N = Integ..

[Java] ๊ทธ๋ฆฌ๋”” ์•Œ๊ณ ๋ฆฌ์ฆ˜ | ๋ฐฑ์ค€ 2457 ๊ณต์ฃผ๋‹˜์˜ ์ •์›

https://www.acmicpc.net/problem/2457 ์ ‘๊ทผ ๋ฐฉ๋ฒ• 3์›” 1์ผ๋ถ€ํ„ฐ 11์›” 30์ผ๊นŒ์ง€ ๋งค์ผ ๊ฝƒ์ด ํ•œ ๊ฐ€์ง€ ์ด์ƒ ํ”ผ์–ด์žˆ์–ด์•ผ ํ•˜๋ฏ€๋กœ ๊ฝƒ ํ”ผ๋Š” ๋‚ ์งœ ์ค‘ ํ•˜๋‚˜๋Š” 3์›” 1์ผ ์ดํ•˜, ์ง€๋Š” ๋‚ ์งœ ์ค‘ ํ•˜๋‚˜๋Š” ๋ฌด์กฐ๊ฑด 12์›” ์ด์ƒ์ด์–ด์•ผ ํ•œ๋‹ค.3์›” 1์ผ ์ดํ•˜ ๋‚ ์งœ์— ํ”ผ๋Š” ๊ฝƒ๋“ค ์ค‘ ์–ด๋–ค ๊ฝƒ์„ ๊ณจ๋ผ์•ผ ๋ ์ง€ ์ƒ๊ฐํ•ด๋ณด๋ฉด, ๊ทธ ์ค‘์—์„œ๋Š” ๋ฌด์กฐ๊ฑด ๊ฐ€์žฅ ๋Šฆ๊ฒŒ ์ง€๋Š” ๊ฝƒ์„ ๊ณ ๋ฅด๋Š” ๊ฒƒ์ด ๊ฝƒ๋“ค์˜ ์ˆ˜๋ฅผ ๊ฐ€๋Šฅํ•œ ์ ๊ฒŒ ํ•˜๋Š” ์กฐ๊ฑด์„ ๋งŒ์กฑ์‹œํ‚ค๊ธฐ ์œ ๋ฆฌํ•˜๋‹ค. ๊ทธ๋ ‡๊ฒŒ ์ฒ˜์Œ ์„ ํƒํ•  ๊ฝƒ์„ ์„ ์ •ํ–ˆ๋‹ค๋ฉด, ๊ทธ ์„ ํƒ๋œ ๊ฝƒ์˜ ์ง€๋Š” ๋‚ ์งœ๋ฅผ ๊ธฐ์ค€์œผ๋กœ ๋‹ค์Œ ์„ ํƒ๋  ๊ฝƒ์„ ์„ ์ •ํ•˜๋ฉด ๋  ๊ฒƒ์ด๋‹ค.๊ตฌ๊ฐ„์„ ๊ฒน์น  ์ˆ˜ ์žˆ๊ฒŒ ๋ฝ‘๋˜, ์ง€๋Š” ๋‚ ์งœ๊ฐ€ ๊ธด ๊ฝƒ์„ ์„ ํƒ. ๊ณผ์ •์„ ๋ฐ˜๋ณตํ•˜๋ฉฐ ์นด์šดํŠธ๋ฅผ ํ•˜๊ณ , ์ง€๋Š” ๋‚ ์งœ๊ฐ€ 12์›” ์ด์ƒ์ธ ๊ฝƒ์„ ์„ ํƒํ–ˆ์„ ๋•Œ ๋ฐ˜๋ณต์„ ์ข…๋ฃŒํ•˜๊ณ  ์นด์šดํŠธ๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค..

[Java] ๋ฒจ๋งŒ-ํฌ๋“œ | ๋ฐฑ์ค€ 1865 ์›œํ™€

https://www.acmicpc.net/problem/1865 ์ด๋ฒˆ ๋ฌธ์ œ๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ถ„๋ฅ˜ ํžŒํŠธ๋ฅผ ๋ณด๊ณ  ๋ฒจ๋งŒ-ํฌ๋“œ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์ถ”๊ฐ€์ ์œผ๋กœ ํ•™์Šตํ•œ ๋’ค์— ํ’€์–ด๋ณด์•˜๋‹ค. ์•„์ง ์–ด๋ ต๊ฒŒ ๋А๊ปด์ง€๋Š” ๋ฌธ์ œ์—ฌ์„œ ๋‚ด๊ฐ€ ํ’€๋ฉด์„œ ๋†“์น˜๊ณ  ์žˆ์—ˆ๊ฑฐ๋‚˜ ์ƒˆ๋กญ๊ฒŒ ์•Œ๊ฒŒ ๋œ ํฌ์ธํŠธ๋“ค์„ ๊ฐ„๋‹จํžˆ ์ •๋ฆฌํ•ด ๋ณด๋ ค๊ณ  ํ•œ๋‹ค. ์–‘๋ฐฉํ–ฅ ๋„๋กœ ์ฒ˜๋ฆฌ์ฒ˜์Œ ๋‚ด ์ฝ”๋“œ์—์„œ๋Š” ๋„๋กœ๋ฅผ ๋‹จ๋ฐฉํ–ฅ์œผ๋กœ๋งŒ ์ฒ˜๋ฆฌํ•˜๊ณ  ์žˆ์—ˆ๋‹ค. ๋„๋กœ๋Š” ์–‘๋ฐฉํ–ฅ์ด๊ธฐ ๋•Œ๋ฌธ์— ๋„๋กœ๋ฅผ ์ถ”๊ฐ€ํ•  ๋•, ์–‘์ชฝ ๋ฐฉํ–ฅ ๋ชจ๋‘ ์ถ”๊ฐ€ํ•ด์•ผ ํ•œ๋‹ค.for (int i = 0; i  ์ผ๋ฐ˜์ ์ธ ๋ฒจ๋งŒ-ํฌ๋“œ์—์„œ INF๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ด์œ Arrays.fill(dist, INF);dist[start] = 0;๋ณดํ†ต "ํŠน์ • ์‹œ์ž‘์ ์œผ๋กœ๋ถ€ํ„ฐ์˜ ์ตœ๋‹จ ๊ฑฐ๋ฆฌ"๋ฅผ ๊ตฌํ•  ๋•Œ ๋งค์šฐ ํฐ ๊ฐ’(INF)์„ dist ๋ฐฐ์—ด์— ๋„ฃ๊ณ  ์‚ฌ์šฉํ•œ๋‹ค.์‹œ์ž‘์ ์œผ๋กœ๋ถ€ํ„ฐ ์•„์ง ๋ฐฉ๋ฌธํ•˜์ง€ ์•Š์€..

[์ตœ๋‹จ ๊ฒฝ๋กœ ์•Œ๊ณ ๋ฆฌ์ฆ˜] ๋‹ค์ต์ŠคํŠธ๋ผ(dijkstra) ์ตœ๋‹จ ๊ฒฝ๋กœ ์•Œ๊ณ ๋ฆฌ์ฆ˜

์ตœ๋‹จ ๊ฒฝ๋กœ ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ๊ฐ€์žฅ ์งง์€ ๊ฒฝ๋กœ๋ฅผ ์ฐพ๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์˜๋ฏธํ•œ๋‹ค.๋‹ค์–‘ํ•œ ๋ฌธ์ œ ์ƒํ™ฉ - ํ•œ ์ง€์ ์—์„œ ๋‹ค๋ฅธ ํ•œ ์ง€์ ๊นŒ์ง€์˜ ์ตœ๋‹จ ๊ฒฝ๋กœ - ํ•œ ์ง€์ ์—์„œ ๋‹ค๋ฅธ ๋ชจ๋“  ์ง€์ ๊นŒ์ง€์˜ ์ตœ๋‹จ ๊ฒฝ๋กœ - ๋ชจ๋“  ์ง€์ ์—์„œ ๋‹ค๋ฅธ ๋ชจ๋“  ์ง€์ ๊นŒ์ง€์˜ ์ตœ๋‹จ ๊ฒฝ๋กœ๊ฐ ์ง€์ ์€ ๊ทธ๋ž˜ํ”„์—์„œ ๋…ธ๋“œ๋กœ ํ‘œํ˜„์ง€์  ๊ฐ„ ์—ฐ๊ฒฐ๋œ ๋„๋กœ๋Š” ๊ทธ๋ž˜ํ”„์—์„œ ๊ฐ„์„ ์œผ๋กœ ํ‘œํ˜„ ๋‹ค์–‘ํ•œ ๋ฌธ์ œ ์ƒํ™ฉ ์ค‘ ํ•œ ์ง€์ ์—์„œ ๋‹ค๋ฅธ ๋ชจ๋“  ์ง€์ ๊นŒ์ง€์˜ ์ตœ๋‹จ ๊ฒฝ๋กœ๋ฅผ ๊ณ„์‚ฐํ•˜๋Š” ์ƒํ™ฉ์€ ๋‹ค์ต์ŠคํŠธ๋ผ ์ตœ๋‹จ ๊ฒฝ๋กœ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์ ์šฉํ•˜์—ฌ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋‹ค. ๋‹ค์ต์ŠคํŠธ๋ผ ์ตœ๋‹จ ๊ฒฝ๋กœ ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ์Œ์˜ ๊ฐ„์„ ์ด ์—†์„ ๋•Œ ์ •์ƒ์ ์œผ๋กœ ๋™์ž‘ํ•œ๋‹ค. - ํ˜„์‹ค ์„ธ๊ณ„์˜ ๋„๋กœ(๊ฐ„์„ )์€ ์Œ์˜ ๊ฐ„์„ ์œผ๋กœ ํ‘œํ˜„๋˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— ์ด๋Ÿฌํ•œ ์ƒํ™ฉ์— ๋‹ค์ต์ŠคํŠธ๋ผ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์ ์šฉํ•ด ๋ณผ ์ˆ˜ ์žˆ๋‹ค.๋‹ค์ต์ŠคํŠธ๋ผ ์ตœ๋‹จ ๊ฒฝ๋กœ ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ๊ทธ๋ฆฌ๋”” ์•Œ๊ณ ๋ฆฌ์ฆ˜์œผ๋กœ ๋ถ„๋ฅ˜๋œ๋‹ค. - ..

[Java] ํ”Œ๋กœ์ด๋“œ–์›Œ์…œ | ๋ฐฑ์ค€ 2660 ํšŒ์žฅ๋ฝ‘๊ธฐ

https://www.acmicpc.net/problem/2660 ์ ‘๊ทผ ๋ฐฉ์‹ :"๋‹ค๋ฅธ ํšŒ์›๋“ค๊ณผ ๊ฐ€๊นŒ์šฐ ์ •๋„", "์นœ๊ตฌ์˜ ์นœ๊ตฌ" ๋“ฑ์˜ ๋ถ€๋ถ„์„ ์ฝ์—ˆ์„ ๋•Œ, ์Šคํ„ฐ๋”” 1, 2์ผ์ฐจ์— ํ•™์Šตํ–ˆ๋˜ ํ”Œ๋กœ์ด๋“œ์›Œ์…œ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์ ์šฉํ•ด์•ผ ๋œ๋‹ค๋Š” ๊ฒƒ์ด ๋ฐ”๋กœ ๋А๊ปด์กŒ๋‹ค. ์–ด๋А ํšŒ์›์˜ ์ ์ˆ˜๊ฐ€ n์ ์ด๋ฉด ๋‹ค๋ฅธ๋ชจ๋“  ํšŒ์›์ด ์นœ๊ตฌ์ด๊ฑฐ๋‚˜, ... , [์นœ๊ตฌ์˜]*(n-1) ์นœ๊ตฌ์ž„์„ ๋งํ•œ๋‹ค๊ณ  ์ดํ•ดํ–ˆ๊ณ , ์ฆ‰ n์ ์ด๋ฉด ์ตœ์ ์˜ ๊ด€๊ณ„๋ฅผ ๊ตฌํ–ˆ์„ ๋•Œ ํ•ด๋‹น ํšŒ์›์œผ๋กœ ๋ถ€ํ„ฐ ๊ฐ€์žฅ ๋ฉ€๋ฆฌ ๋–จ์–ด์ ธ ์žˆ๋Š” ํšŒ์›์€ n-1๊ฐœ์˜ ๋‹ค๋ฅธ ์นœ๊ตฌ(๋…ธ๋“œ๋“ค)์„ ๊ฑฐ์ณ์„œ ์—ฐ๊ฒฐ๋œ๋‹ค๋Š” ์˜๋ฏธ๋กœ ํ•ด์„ํ–ˆ๋‹ค. ๊ฐ ๋…ธ๋“œ์—์„œ ๋‹ค๋ฅธ ๋…ธ๋“œ๋“ค๋กœ์˜ ์ตœ์ ์˜ ๊ฒฝ๋กœ๋ฅผ ๊ตฌํ•œ๋’ค,๊ฐ ๋…ธ๋“œ์—์„œ ๊ฐ€์žฅ ๋ฉ€๋ฆฌ ๋–จ์–ด์ ธ์žˆ๋Š” ๋…ธ๋“œ์™€์˜ ๊ฐ„์„  ์ˆ˜๊ฐ€ ๊ทธ ๋…ธ๋“œ์˜ ์ ์ˆ˜๊ฐ€ ๋œ๋‹ค. ์ด๋ ‡๊ฒŒ ๋ฌธ์ œ๋ฅผ ํ•ด์„ํ•˜๋‹ˆ ๋ฐฑ์ค€ 1389 ์ผ€๋นˆ ๋ฒ ์ด์ปจ์˜ 6๋‹จ๊ณ„ ๋ฒ•์น™๊ณผ ..

[Java] ํ”Œ๋กœ์ด๋“œ–์›Œ์…œ | ๋ฐฑ์ค€ 1389 ์ผ€๋นˆ ๋ฒ ์ด์ปจ์˜ 6๋‹จ๊ณ„ ๋ฒ•์น™

https://www.acmicpc.net/problem/1389 ์ฒซ ์ ‘๊ทผ ๋ฐฉ์‹(์‹คํŒจ)ํ”Œ๋กœ์ด๋“œ ์›Œ์…œ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์ ์šฉํ•  ์ˆ˜ ์žˆ์„ ๊ฒƒ ๊ฐ™์€ ๋А๋‚Œ์ด ๋“ค์—ˆ์ง€๋งŒ ์ด๋ฅผ ๊ตฌํ˜„ํ•˜๊ธฐ ๋ง‰๋ง‰ํ•ด ๋ธŒ๋ฃจํŠธํฌ์Šค ๋ฐฉ์‹์œผ๋กœ ํ’€์–ด๋ณด์•˜๊ณ  ๊ฒฐ๊ณผ๋Š” ์—ญ์‹œ ์‹คํŒจ์˜€๋‹ค. ๋Œ€๋žต ์•„๋ž˜์™€ ๊ฐ™์€ ๋ฐฉ์‹์œผ๋กœ ์ ‘๊ทผํ–ˆ์—ˆ๋‹ค. 1. ๋ชจ๋“  ๊ฐ€๋Šฅํ•œ ๋…ธ๋“œ ์Œ (i, j)์— ๋Œ€ํ•ด ๋ฐ˜๋ณตํ•˜๋ฉฐ ์—ฐ๊ฒฐ ์ฐพ๊ธฐ2. searchMin ํ•จ์ˆ˜๋ฅผ ํ†ตํ•œ ํƒ์ƒ‰3. ๊ฐ ์—ฐ๊ฒฐ๋˜์ง€ ์•Š์€ ๋…ธ๋“œ ์Œ์— ๋Œ€ํ•ด searchMin ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ•˜์—ฌ ์ค‘๊ฐ„ ๋…ธ๋“œ ์ฐพ๊ธฐ4. ๋ชจ๋“  ๊ฐ€๋Šฅํ•œ ๊ฒฝ๋กœ๋ฅผ ํƒ์ƒ‰ํ•˜๊ณ  ์ตœ์†Œ๊ฐ’์„ ๊ฐฑ์‹  ์˜ˆ์ œ ์ž…๋ ฅ๊ณผ ์ถœ๋ ฅ์€ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ๋‚˜์˜ฌ ์ˆ˜ ์žˆ์—ˆ์ง€๋งŒ ์‹œ๊ฐ„ ์ดˆ๊ณผ ๋“ฑ์˜ ๋ฌธ์ œ๋กœ ์‹คํŒจํ•˜์˜€๋‹ค.  ๋‹ค์‹œ ํ”Œ๋กœ์ด๋“œ ์›Œ์…œ ํ•™์Šตํ•˜๊ณ  ํ’€์ดํ•œ ๋‚ด์šฉ์„ ์ •๋ฆฌํ•ด ๋ณธ๋‹ค.๋‚ด๊ฐ€ ๋ธŒ๋ฃจํŠธํฌ์Šค ๋ฐฉ์‹์œผ๋กœ ์ ‘๊ทผํ–ˆ์„๋•Œ๋„ ๊ฒฐ๊ตญ ์—ฐ๊ฒฐ๋˜์ง€ ์•Š์€ ์œ ์ € ์Œ์„..

[Java] ๊ทธ๋ž˜ํ”„ ํƒ์ƒ‰, ํ”Œ๋กœ์ด๋“œ–์›Œ์…œ | ๋ฐฑ์ค€ 11403 ๊ฒฝ๋กœ์ฐพ๊ธฐ

https://www.acmicpc.net/problem/11403 ์ ‘๊ทผ ๋ฐฉ์‹  ์šฐ์„  ์ •์  i์—์„œ j๋กœ ๊ฐ€๋Š” ๊ธธ์ด๊ฐ€ ์–‘์ˆ˜์ธ ๊ฒฝ๋กœ์˜ ์˜๋ฏธ๋ฅผ ์ดํ•ดํ•˜๋ ค ํ•ด๋ณด์•˜๋‹ค.๊ทธ๋ž˜ํ”„ G์—์„œ ์ •์  (i,j)๋Š”  i์—์„œ j๋กœ ๊ฐ€๋Š” ๊ฐ„์„ ์˜ ์œ ๋ฌด๋ฅผ ๋‚˜ํƒ€๋‚ธ๋‹ค.๊ทธ๋ž˜ํ”„ G์˜ ์ •์ (i,j)๋Š” ๋…ธ๋“œ i์—์„œ ๋…ธ๋“œ j๋กœ ์ง์ ‘ ์—ฐ๊ฒฐ๋œ ๊ฐ„์„ ์ด ์žˆ์–ด์•ผ 1์ด ๋˜๋Š” ๋ฐ˜๋ฉด, ์ •์  i์—์„œ j๋กœ ๊ฐ€๋Š” ๊ธธ์ด๊ฐ€ ์–‘์ˆ˜์ธ ๊ฒฝ๋กœ๋Š” ๋…ธ๋“œ i์—์„œ 1๊ฐœ ์ด์ƒ์˜ ๊ฐ„์„ ์„ ๊ฑฐ์ณ ๋…ธ๋“œ j๋กœ ๋„๋‹ฌํ•  ์ˆ˜ ์žˆ๋Š”์ง€์— ์ฃผ๋ชฉํ•œ๋‹ค.๋…ธ๋“œ 1๊ณผ ๋…ธ๋“œ 2 ์‚ฌ์ด์— ์ง์ ‘ ์—ฐ๊ฒฐ๋œ ๊ฐ„์„ ์ด ์—†์–ด๋„ ๋…ธ๋“œ 1 => (๋…ธ๋“œ x1 => ... => ๋…ธ๋“œ xn) => ๋…ธ๋“œ 2 ์™€ ๊ฐ™์ด ์—ฐ๊ฒฐ๋  ์ˆ˜ ์žˆ๋‹ค๋ฉด (๋…ธ๋“œ 1, ๋…ธ๋“œ 2)์€ 1์ธ ๊ฒฝ์šฐ๊ฐ€ ๋œ๋‹ค. ๊ธฐ๋ณธ์ ์œผ๋กœ ๊ทธ๋ž˜ํ”„ G์—์„œ 1์ธ G[i][j]๋Š” ์šฐ๋ฆฌ๊ฐ€ ๊ตฌํ•˜๊ณ ์žํ•˜๋Š”..

|a - b| = |c - d| ์ ˆ๋Œ€๊ฐ’ ์ฐจ์ด๊ฐ€ ๊ฐ™์€ ๊ฒฝ์šฐ ํ™œ์šฉํ•˜๊ธฐ

๋‘ ๊ฐ’์˜ ์ฐจ์ด์˜ ์ ˆ๋Œ€๊ฐ’์ด ์„œ๋กœ ๊ฐ™์€ ๊ฒฝ์šฐ ์ˆ˜ํ•™์—์„œ๋Š” |a - b| = |c - d| ์™€ ๊ฐ™์ด ํ‘œํ˜„ํ•œ๋‹ค.ํ•ด๋‹น ๊ฐœ๋…์„ ์ž˜ ์ˆ™์ง€ํ•˜๊ณ  ์žˆ์œผ๋ฉด ์•„๋ž˜์™€ ๊ฐ™์ด ๋‹ค์–‘ํ•œ ์ƒํ™ฉ์—์„œ ์ด ๊ฐœ๋…์„ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. 1. ๊ธฐํ•˜ํ•™์  ๊ด€๊ณ„ ํŒŒ์•…์˜ˆ: N-Queen ๋ฌธ์ œ์—์„œ ๋Œ€๊ฐ์„  ๊ด€๊ณ„ ํ™•์ธ์‘์šฉ: ๊ฒฉ์ž ๊ธฐ๋ฐ˜ ๊ฒŒ์ž„, ๊ฒฝ๋กœ ์ฐพ๊ธฐ ์•Œ๊ณ ๋ฆฌ์ฆ˜์œ„์˜ ๊ทธ๋ฆผ๊ณผ ๊ฐ™์ด ํ–‰๊ฐ„ ์ฐจ์ด์™€ ์—ด๊ฐ„ ์ฐจ์ด๊ฐ€ ๋™์ผํ•œ ๊ฒฝ์šฐ ์  A, ์  B๋Š” ๋™์ผ ๋Œ€๊ฐ์„ ์ƒ์— ๋†“์ธ๋‹ค๋Š” ๊ฒƒ์„ ์•Œ ์ˆ˜ ์žˆ๋‹ค.ํ•ด๋‹น ๊ฒฝ์šฐ๋ฅผ N-queen ๋ฌธ์ œ์—์„œ ๋Œ€๊ฐ์„ ์ƒ์— ๋ง์ด ๋†“์ด๋Š” ๊ฒฝ์šฐ์˜ ์˜ˆ์™ธ๋ฅผ ์ฒ˜๋ฆฌํ•  ๋•Œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.ex ) if(Math.abs(x2 - x1) == Math.abs(y2 - y1))  A* ์•Œ๊ณ ๋ฆฌ์ฆ˜์—์„œ ๋Œ€๊ฐ์„  ์ด๋™ ๋น„์šฉ ๊ณ„์‚ฐ๋กœ๋ด‡ ๋‚ด๋น„๊ฒŒ์ด์…˜์—์„œ ์žฅ์• ๋ฌผ ํšŒํ”ผ ๊ฒฝ๋กœ ๊ณ„์‚ฐ double calcul..

1721. Swapping Nodes in a Linked List [leetcode] | ๊ฐ’์ด ์•„๋‹Œ ๊ฐ์ฒด(๋…ธ๋“œ)๋ฅผ ์ง์ ‘ ๊ตํ™˜ ํ•ด๋ณด๊ธฐ

https://leetcode.com/problems/swapping-nodes-in-a-linked-list/description/๋ฌธ์ œ๋Š” ์œ„ ๋งํฌ ์ฐธ์กฐ ํ•ด๋‹น ๋ฌธ์ œ๋ฅผ ์ฒ˜์Œ ์ ‘๊ทผ ํ–ˆ์„ ๋•Œ ๊ฐ์ฒด๋ฅผ ๊ตํ™˜ํ•˜๋Š” ๊ฒƒ์€ ๋„ˆ๋ฌด ๋ณต์žกํ•ด ๋ณด์—ฌ ๊ฐ’๋งŒ ๊ตํ™˜ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค.์ดํ›„ ์ง์ ‘ ๊ฐ์ฒด๋ฅผ ๊ตํ™˜ํ•˜๋Š” ๋ฐฉ์‹์„ ํ•™์Šตํ•ด๋ณด์•˜๋‹ค.  ํ’€์ด ์š”์•ฝ1. ์—์ง€ ์ผ€์ด์Šค ์ฒ˜๋ฆฌ: ๋ฆฌ์ŠคํŠธ๊ฐ€ ๋น„์–ด์žˆ๊ฑฐ๋‚˜ ํ•˜๋‚˜์˜ ๋…ธ๋“œ๋งŒ ์žˆ๋Š” ๊ฒฝ์šฐ ๊ทธ๋Œ€๋กœ ๋ฐ˜ํ™˜2. dummy ๋…ธ๋“œ๋ฅผ ์ƒ์„ฑํ•˜์—ฌ head ๋…ธ๋“œ ๊ตํ™˜์„ ์ฒ˜๋ฆฌ3. 4๊ฐœ์˜ ํฌ์ธํ„ฐ ์‚ฌ์šฉ : prevFirst, first, prevSecond, second (๊ฐ๊ฐ ๊ตํ™˜ํ•  ๋‘ ๋…ธ๋“œ์™€ ๊ทธ ์ง์ „ ๋…ธ๋“œ๋“ค์„ ๊ฐ€๋ฆฌํ‚จ๋‹ค.)4. ์•ž์—์„œ k๋ฒˆ์งธ ๋…ธ๋“œ(first)์™€ ์ง์ „ ๋…ธ๋“œ(prevFirst) ์ฐพ๊ธฐ5. ๋’ค์—์„œ k๋ฒˆ์งธ ..