๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
  • ์žฅ์›์ต ๊ธฐ์ˆ ๋ธ”๋กœ๊ทธ

๐Ÿ’ป Computer Science/- Data Structure, Algorithm147

[์•Œ๊ณ ๋ฆฌ์ฆ˜ PS] ๋ฐฑ์ค€ 2583๋ฒˆ ์˜์—ญ ๊ตฌํ•˜๊ธฐ ์ž๋ฐ” ๋ฌธ์ œํ’€์ด ๋ฌธ์ œ ํ•ด๋‹น ํฌ์ŠคํŒ…์€ ๋ฐฑ์ค€์˜ 2583๋ฒˆ ์˜์—ญ ๊ตฌํ•˜๊ธฐ ์˜ ์ ‘๊ทผ๊ณผ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์„ ์„ค๋ช…ํ•œ ๊ธ€ ์ž…๋‹ˆ๋‹ค. ์ •๋‹ต ์†Œ์Šค ์ฝ”๋“œ๋ฅผ ํ™•์ธํ•˜์‹œ๋ ค๋ฉด solve url ์—์„œ ํ™•์ธ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. 2583๋ฒˆ: ์˜์—ญ ๊ตฌํ•˜๊ธฐ ์ฒซ์งธ ์ค„์— M๊ณผ N, ๊ทธ๋ฆฌ๊ณ  K๊ฐ€ ๋นˆ์นธ์„ ์‚ฌ์ด์— ๋‘๊ณ  ์ฐจ๋ก€๋กœ ์ฃผ์–ด์ง„๋‹ค. M, N, K๋Š” ๋ชจ๋‘ 100 ์ดํ•˜์˜ ์ž์—ฐ์ˆ˜์ด๋‹ค. ๋‘˜์งธ ์ค„๋ถ€ํ„ฐ K๊ฐœ์˜ ์ค„์—๋Š” ํ•œ ์ค„์— ํ•˜๋‚˜์”ฉ ์ง์‚ฌ๊ฐํ˜•์˜ ์™ผ์ชฝ ์•„๋ž˜ ๊ผญ์ง“์ ์˜ x, y์ขŒํ‘œ๊ฐ’๊ณผ ์˜ค www.acmicpc.net ์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ์–ด๋–ค ๋ฐฉ์‹์œผ๋กœ ์ ‘๊ทผํ•ด์•ผ ํ•˜๋Š”์ง€๋ฅผ ๋จผ์ € ์ƒ๊ฐํ•ด๋ณด์ž. ๋ฌธ์ œ ์ ‘๊ทผ ์ด๋ฒˆ ๋ฌธ์ œ๋Š” BFS ๋‚˜ DFS ๋ชจ๋‘ ํ’€ ์ˆ˜ ์žˆ๋Š” ๋ฌธ์ œ์ด๋‹ค. ์—ฌ๊ธฐ์„œ ์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•œ ์ค‘์š”ํ•œ ํŒ์€ ๋ชจ๋ˆˆ ์ข…์ด๋ฅผ ์–ด๋–ป๊ฒŒ ๋ฐ”๋ผ๋ณผ ๊ฒƒ์ด๋ƒ? ์˜€๋˜๊ฒƒ ๊ฐ™๋‹ค. ๋งŒ์•ฝ ๋ฐฐ์—ด๋กœ ์ƒ๊ฐ์„ ํ•œ๋‹ค๋ฉด ๋ชจ๋ˆˆ ์ข…์ด๋ฅผ 2.. 2021. 8. 2.
[์•Œ๊ณ ๋ฆฌ์ฆ˜ PS] ๋ฐฑ์ค€ 2468๋ฒˆ ์•ˆ์ „ ์˜์—ญ ์ž๋ฐ” ๋ฌธ์ œํ’€์ด ๋ฌธ์ œ ํ•ด๋‹น ํฌ์ŠคํŒ…์€ ๋ฐฑ์ค€์˜ 2468๋ฒˆ ์•ˆ์ „ ์˜์—ญ ์˜ ์ ‘๊ทผ๊ณผ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์„ ์„ค๋ช…ํ•œ ๊ธ€ ์ž…๋‹ˆ๋‹ค. ์ •๋‹ต ์†Œ์Šค ์ฝ”๋“œ๋ฅผ ํ™•์ธํ•˜์‹œ๋ ค๋ฉด solve url ์—์„œ ํ™•์ธ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. 2468๋ฒˆ: ์•ˆ์ „ ์˜์—ญ ์žฌ๋‚œ๋ฐฉ์žฌ์ฒญ์—์„œ๋Š” ๋งŽ์€ ๋น„๊ฐ€ ๋‚ด๋ฆฌ๋Š” ์žฅ๋งˆ์ฒ ์— ๋Œ€๋น„ํ•ด์„œ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ผ์„ ๊ณ„ํšํ•˜๊ณ  ์žˆ๋‹ค. ๋จผ์ € ์–ด๋–ค ์ง€์—ญ์˜ ๋†’์ด ์ •๋ณด๋ฅผ ํŒŒ์•…ํ•œ๋‹ค. ๊ทธ ๋‹ค์Œ์— ๊ทธ ์ง€์—ญ์— ๋งŽ์€ ๋น„๊ฐ€ ๋‚ด๋ ธ์„ ๋•Œ ๋ฌผ์— ์ž ๊ธฐ์ง€ ์•Š๋Š” www.acmicpc.net ์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ์–ด๋–ค ๋ฐฉ์‹์œผ๋กœ ์ ‘๊ทผํ•ด์•ผ ํ•˜๋Š”์ง€๋ฅผ ๋จผ์ € ์ƒ๊ฐํ•ด๋ณด์ž. ๋ฌธ์ œ ์ ‘๊ทผ ์ด๋ฒˆ ๋ฌธ์ œ๋Š” BFS, DFS ๋ชจ๋‘ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋ฌธ์ œ์ด๋‹ค. ๊ฐ•์ˆ˜๋Ÿ‰์„ 1๋ถ€ํ„ฐ ์›์†Œ์˜ ์ตœ๋Œ€๊นŒ์ง€ ๊ฐ๊ฐ ์กฐ์‚ฌํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์ทจํ•˜๋ฉด ๋œ๋‹ค. ์ •๋‹ต ์ฝ”๋“œ public class Main { static ArrayList graph = ne.. 2021. 7. 31.
[์•Œ๊ณ ๋ฆฌ์ฆ˜ PS] ๋ฐฑ์ค€ 7562 ๋‚˜์ดํŠธ์˜ ์ด๋™ ์ž๋ฐ” ๋ฌธ์ œํ’€์ด ๋ฌธ์ œ ํ•ด๋‹น ํฌ์ŠคํŒ…์€ ๋ฐฑ์ค€์˜ 7562 ๋‚˜์ดํŠธ์˜ ์ด๋™ ์˜ ์ ‘๊ทผ๊ณผ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์„ ์„ค๋ช…ํ•œ ๊ธ€ ์ž…๋‹ˆ๋‹ค. ์ •๋‹ต ์†Œ์Šค ์ฝ”๋“œ๋ฅผ ํ™•์ธํ•˜์‹œ๋ ค๋ฉด solve url ์—์„œ ํ™•์ธ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. 7562๋ฒˆ: ๋‚˜์ดํŠธ์˜ ์ด๋™ ์ฒด์ŠคํŒ ์œ„์— ํ•œ ๋‚˜์ดํŠธ๊ฐ€ ๋†“์—ฌ์ ธ ์žˆ๋‹ค. ๋‚˜์ดํŠธ๊ฐ€ ํ•œ ๋ฒˆ์— ์ด๋™ํ•  ์ˆ˜ ์žˆ๋Š” ์นธ์€ ์•„๋ž˜ ๊ทธ๋ฆผ์— ๋‚˜์™€์žˆ๋‹ค. ๋‚˜์ดํŠธ๊ฐ€ ์ด๋™ํ•˜๋ ค๊ณ  ํ•˜๋Š” ์นธ์ด ์ฃผ์–ด์ง„๋‹ค. ๋‚˜์ดํŠธ๋Š” ๋ช‡ ๋ฒˆ ์›€์ง์ด๋ฉด ์ด ์นธ์œผ๋กœ ์ด๋™ํ•  ์ˆ˜ www.acmicpc.net ์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ์–ด๋–ค ๋ฐฉ์‹์œผ๋กœ ์ ‘๊ทผํ•ด์•ผ ํ•˜๋Š”์ง€๋ฅผ ๋จผ์ € ์ƒ๊ฐํ•ด๋ณด์ž. ๋ฌธ์ œ ์ ‘๊ทผ ์ด ๋ฌธ์ œ๋Š” BFS ๋ฅผ ์ด์šฉํ•ด์„œ ๋‚˜์ดํŠธ๊ฐ€ ์ด๋™ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒฝ๋กœ๋ฅผ ํ์— ๋„ฃ๊ณ  ํƒ์ƒ‰์„ ํ•˜๋ฉด ๋˜๋Š” ๋ฌธ์ œ์ด๋‹ค. ์ •๋‹ต ์ฝ”๋“œ public class Main { private static int[] posX = {-1, -2, -.. 2021. 7. 31.
[์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œํ’€์ด ์Šคํ‚ฌ] ์—ฌ๋Ÿฌ ๋ฐฑ์ค€ ๋ฌธ์ œ ๋น„๊ตํ•˜๋ฉฐ ๋ฐฐ์›Œ๋ณด๋Š” ๋‹ค์–‘ํ•œ ์ž๋ฐ” ์ž…์ถœ๋ ฅ ๊ธฐ๋ฒ• ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ฝ”๋”ฉํ…Œ์ŠคํŠธ๋‚˜ ๋Œ€ํšŒ์—์„œ ์ž๋ฐ”๊ฐ€ ์ฃผ๋กœ ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š” ๊ฐ€์žฅ ํฐ ์ด์œ ๋Š” ๋ฐ”๋กœ ์†๋„ ๋•Œ๋ฌธ์ด ์•„๋‹๊นŒ ์ƒ๊ฐํ•œ๋‹ค. ํ•˜์ง€๋งŒ ๊ทธ ์™ธ์— ๋‚ด๊ฐ€ ๊ณต๋ถ€ํ•˜๋ฉฐ ๋Š๊ผˆ๋˜ ๊ฐ€์žฅ ํฐ ๋‹จ์ ?์€ ๋ฐ”๋กœ ์ž…์ถœ๋ ฅ์ด ๋ถˆํŽธํ•˜๋‹ค ์ด๋‹ค. ์‚ฌ์‹ค ๋กœ์ง ์œ„ํ•ด์„œ ์ฝ”๋“œ๋ฅผ ๊ตฌ์„ฑํ•˜๋Š” ๊ณผ์ •์€ ํŒŒ์ด์ฌ์ด ์••๋„์ ์œผ๋กœ ํŽธํ•˜๊ฒ ์ง€๋งŒ, ๊ทธ ์™ธ์—๋Š” ๋‹ค ๋น„์Šท๋น„์Šทํ•˜๋‹ค. ๊ทผ๋ฐ ๊ฐ€์žฅ ํฐ ๋‹จ์ ์ธ ์ž…์ถœ๋ ฅ์˜ ๊นŒ๋‹ค๋กœ์›€์ด๋‹ค. c++ ์€ cin ์œผ๋กœ ์‰ฝ๊ฒŒ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๊ณ , python ์€ input ์œผ๋กœ ์ฒ˜๋ฆฌํ•œ๋‹ค. ํ•˜์ง€๋งŒ ์ž๋ฐ”๋Š” Scanner ๋‚˜ BufferedReader ๊ฐ์ฒด๋ฅผ ์ด์šฉํ•ด์•ผ ํ•œ๋‹ค. ํ•ด๋‹น ๊ฐ์ฒด์—์„œ ๋˜ nextInt(), next(), read(), readLine() ๊ณผ ๊ฐ™์€ ๋ฉ”์„œ๋“œ๋ฅผ ํ˜ธ์ถœํ•ด์•ผ ํ•œ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์–ด๋–ค ์ž…์ถœ๋ ฅ ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๋Š”์ง€์— ๋”ฐ๋ผ ์˜ํ–ฅ์ด ๊ฐ€๋Š” ์†๋„๋„ ๋ฌด์‹œํ•˜์ง€ ๋ชปํ•œ.. 2021. 7. 29.
[์•Œ๊ณ ๋ฆฌ์ฆ˜ PS] ๋ฐฑ์ค€ 1697๋ฒˆ ์ˆจ๋ฐ”๊ผญ์งˆ ์ž๋ฐ” ๋ฌธ์ œํ’€์ด ๋ฌธ์ œ ํ•ด๋‹น ํฌ์ŠคํŒ…์€ ๋ฐฑ์ค€์˜ 1697๋ฒˆ ์ˆจ๋ฐ”๊ผญ์งˆ ์˜ ์ ‘๊ทผ๊ณผ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์„ ์„ค๋ช…ํ•œ ๊ธ€ ์ž…๋‹ˆ๋‹ค. ์ •๋‹ต ์†Œ์Šค ์ฝ”๋“œ๋ฅผ ํ™•์ธํ•˜์‹œ๋ ค๋ฉด solve url ์—์„œ ํ™•์ธ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. 1697๋ฒˆ: ์ˆจ๋ฐ”๊ผญ์งˆ ์ˆ˜๋นˆ์ด๋Š” ๋™์ƒ๊ณผ ์ˆจ๋ฐ”๊ผญ์งˆ์„ ํ•˜๊ณ  ์žˆ๋‹ค. ์ˆ˜๋นˆ์ด๋Š” ํ˜„์žฌ ์  N(0 ≤ N ≤ 100,000)์— ์žˆ๊ณ , ๋™์ƒ์€ ์  K(0 ≤ K ≤ 100,000)์— ์žˆ๋‹ค. ์ˆ˜๋นˆ์ด๋Š” ๊ฑท๊ฑฐ๋‚˜ ์ˆœ๊ฐ„์ด๋™์„ ํ•  ์ˆ˜ ์žˆ๋‹ค. ๋งŒ์•ฝ, ์ˆ˜๋นˆ์ด์˜ ์œ„์น˜๊ฐ€ X์ผ www.acmicpc.net ์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ์–ด๋–ค ๋ฐฉ์‹์œผ๋กœ ์ ‘๊ทผํ•ด์•ผ ํ•˜๋Š”์ง€๋ฅผ ๋จผ์ € ์ƒ๊ฐํ•ด๋ณด์ž. ๋ฌธ์ œ ์ ‘๊ทผ ์ด ๋ฌธ์ œ๋Š” BFS ์™€ ๋ฐฉ๋ฌธ ์ฒ˜๋ฆฌ๋ฅผ ์ด์šฉํ•œ๋‹ค๋ฉด ์‰ฝ๊ฒŒ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋Š” ๋ฌธ์ œ์ด๋‹ค. ํ•ด๊ฒฐ๋ฒ• bfs๋กœ ๊ฐ๊ฐ์˜ ์ผ€์ด์Šค์— ๋Œ€ํ•ด์„œ ํ™•์ธ์„ ํ•œ๋‹ค. ํ˜„์žฌ ๊ฑฐ๋ฆฌ์—์„œ - 1 ํ•œ ๊ฒฝ์šฐ ํ˜„์žฌ ๊ฑฐ๋ฆฌ์—์„œ + 1 ํ•œ ๊ฒฝ์šฐ .. 2021. 7. 29.
[์•Œ๊ณ ๋ฆฌ์ฆ˜-PS] ๋ฐฑ์ค€ 7576๋ฒˆ ํ† ๋งˆํ†  ์ž๋ฐ” ๋ฌธ์ œํ’€์ด ๋ฌธ์ œ ํ•ด๋‹น ํฌ์ŠคํŒ…์€ ๋ฐฑ์ค€์˜ 7576๋ฒˆ ํ† ๋งˆํ†  ์˜ ์ ‘๊ทผ๊ณผ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์„ ์„ค๋ช…ํ•œ ๊ธ€ ์ž…๋‹ˆ๋‹ค. ์ •๋‹ต ์†Œ์Šค ์ฝ”๋“œ๋ฅผ ํ™•์ธํ•˜์‹œ๋ ค๋ฉด solve url ์—์„œ ํ™•์ธ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. 7576๋ฒˆ: ํ† ๋งˆํ†  ์ฒซ ์ค„์—๋Š” ์ƒ์ž์˜ ํฌ๊ธฐ๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ๋‘ ์ •์ˆ˜ M,N์ด ์ฃผ์–ด์ง„๋‹ค. M์€ ์ƒ์ž์˜ ๊ฐ€๋กœ ์นธ์˜ ์ˆ˜, N์€ ์ƒ์ž์˜ ์„ธ๋กœ ์นธ์˜ ์ˆ˜๋ฅผ ๋‚˜ํƒ€๋‚ธ๋‹ค. ๋‹จ, 2 ≤ M,N ≤ 1,000 ์ด๋‹ค. ๋‘˜์งธ ์ค„๋ถ€ํ„ฐ๋Š” ํ•˜๋‚˜์˜ ์ƒ์ž์— ์ €์žฅ๋œ ํ† ๋งˆํ†  www.acmicpc.net ์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ์–ด๋–ค ๋ฐฉ์‹์œผ๋กœ ์ ‘๊ทผํ•ด์•ผ ํ•˜๋Š”์ง€๋ฅผ ๋จผ์ € ์ƒ๊ฐํ•ด๋ณด์ž. ๋ฌธ์ œ ์ ‘๊ทผ ์ด๋ฒˆ ๋ฌธ์ œ๋Š” BFS ๋ฅผ ์ด์šฉํ•ด์„œ ํ’€ ์ˆ˜ ์žˆ๋Š” ๋ฌธ์ œ์ด๋‹ค. ๊ฐ๊ฐ์˜ ๋…ธ๋“œ๋Š” 4๋ฐฉ์œผ๋กœ ์ƒ, ํ•˜, ์ขŒ, ์šฐ ๋กœ ์—ฐ๊ฒฐ๋œ ๊ทธ๋ž˜ํ”„๋ฅผ ๋„๊ณ  ์žˆ๋Š”๋ฐ, visited ๋ผ๋Š” ๋ฐฉ๋ฌธ ์ฒดํฌ flag ๊ฐ€ ํ•„์š” ์—†๋Š” ๋ฌธ์ œ์ด๋‹ค. ํ•˜๋ฃจ์— .. 2021. 7. 28.