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

๐Ÿ’ป Computer Science191

[์•Œ๊ณ ๋ฆฌ์ฆ˜ 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.
[์•Œ๊ณ ๋ฆฌ์ฆ˜-PS] ๋ฐฑ์ค€ 1325๋ฒˆ ํšจ์œจ์ ์ธ ํ•ดํ‚น ์ž๋ฐ” ๋ฌธ์ œํ’€์ด (์‹œ๊ฐ„ ์ดˆ๊ณผ ํ•ด๊ฒฐ) ๋ฌธ์ œ ํ•ด๋‹น ํฌ์ŠคํŒ…์€ ๋ฐฑ์ค€์˜ 1325๋ฒˆ ํšจ์œจ์ ์ธ ํ•ดํ‚น ์˜ ์ ‘๊ทผ๊ณผ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์„ ์„ค๋ช…ํ•œ ๊ธ€ ์ž…๋‹ˆ๋‹ค. ์ •๋‹ต ์†Œ์Šค ์ฝ”๋“œ๋ฅผ ํ™•์ธํ•˜์‹œ๋ ค๋ฉด solve url ์—์„œ ํ™•์ธ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. ์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ์–ด๋–ค ๋ฐฉ์‹์œผ๋กœ ์ ‘๊ทผํ•ด์•ผ ํ•˜๋Š”์ง€๋ฅผ ๋จผ์ € ์ƒ๊ฐํ•ด๋ณด์ž. ๋ฌธ์ œ ์ ‘๊ทผ ์ด ๋ฌธ์ œ๋Š” ๊ฐ„๋‹จํ•œ dfs/bfs ๋กœ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋Š” ๋ฌธ์ œ์ด๋‹ค. ์ด ์ž…๋ ฅ์ด 1๋งŒ๊ฐœ๊ฐ€ ์ตœ์•…์˜ ๊ฒฝ์šฐ ๋“ค์–ด์˜ค๊ณ  ๊ฐ๊ฐ์˜ ๋…ธ๋“œ์˜ dfs ๊ฒฐ๊ณผ๋ฅผ ํƒ์ƒ‰ํ•ด์•ผ ํ•˜๋‹ˆ ์กฐ๊ธˆ ๊ฐ„๋‹น๊ฐ„๋‹นํ•˜๊ฒŒ ์‹œ๊ฐ„ ๋ณต์žก๋„์— ๊ฑธ๋ฆด ์ˆ˜ ์žˆ๋‹ค. ๊ทธ๋ž˜์„œ ์ด ๋ฌธ์ œ๋Š” ์ผ๋ฐ˜์ ์ธ dfs๋กœ ํ•ด๊ฒฐํ•˜๋ฉด ์‹œ๊ฐ„ ์ดˆ๊ณผ๊ฐ€ ๋‚  ์ˆ˜ ์žˆ๋Š” ๋ฌธ์ œ์ด๋‹ค. ํ•ด๊ฒฐ๋ฒ• ์ด ๋ฌธ์ œ๋Š” ์žฌ๊ท€ dfs, ์Šคํƒ dfs ๋“ฑ ์—ฌ๋Ÿฌ ๋ฐฉ๋ฒ•์„ ํ†ตํ•ด์„œ ๊ตฌํ˜„์„ ํ•ด๋ณด์•˜์ง€๋ฏผ ๊ฒฐ๊ณผ๋ฅผ ์กฐ๊ธˆ ๋” ๋นจ๋ฆฌ ๋‚ผ ์ˆ˜ ์žˆ๋Š” bfs ๋กœ ํ•ด๊ฒฐํ•˜์˜€๋‹ค. ํ•ดํ‚นํ•  ์ˆ˜ ์žˆ๋Š” ๋…ธ๋“œ์˜ ์ˆ˜๋ฅผ ํ‘œํ˜„ํ•˜๊ธฐ ์œ„ํ•ด.. 2021. 7. 27.
[Network] IP๋ฅผ ํšจ๊ณผ์ ์œผ๋กœ ๋‚˜๋ˆ„๋Š” ๋ฐฉ๋ฒ• : ์‚ฌ์ด๋” (CIDR) ์ง€๋‚œ ์‹œ๊ฐ„ ์šฐ๋ฆฌ๋Š” ๋„คํŠธ์›Œํฌ ํด๋ž˜์Šค์™€ ์„œ๋ธŒ๋„ท ๋งˆ์Šคํฌ๋ฅผ ์ด์šฉํ•ด์„œ ๋ถ€์กฑํ•œ IPv4 ์˜ ์ฃผ์†Œ ๊ณต๊ฐ„์„ ํšจ์œจ์ ์œผ๋กœ ๋‚˜ํƒ€๋‚ด๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด์•˜๋‹ค. ๋„คํŠธ์›Œํฌ ํด๋ž˜์Šค ์˜ค๋Š˜์€ ๋„คํŠธ์›Œํฌ ํด๋ž˜์Šค๋ณด๋‹ค ๋”์šฑ ์ง„ํ™”ํ•˜๊ณ  ์„œ๋ธŒ๋„ท ๋งˆ์Šคํฌ๋ณด๋‹ค ๋” ํšจ๊ณผ์ ์ธ CIDR ์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด๋ ค ํ•œ๋‹ค. ์‚ฌ์„ค๋ง, Private IP ์šฐ๋ฆฌ๋Š” ๋ณดํ†ต ๊ณต์œ ๊ธฐ๋ฅผ ์‚ฌ์šฉํ•˜๊ฑฐ๋‚˜, AWS ์—์„œ VPC Group ์„ ์ƒ์„ฑํ•˜๊ธฐ ์œ„ํ•ด์„œ ์‚ฌ์„ค๋ง, Private IP ๋ฅผ ์‚ฌ์šฉํ•˜๊ฒŒ ๋œ๋‹ค. ์‚ฌ์„ค๋ง์€ ํ•˜๋‚˜์˜ Public IP ๋ฅผ ์—ฌ๋Ÿฌ ๊ธฐ๊ธฐ๊ฐ€ ๊ณต์œ ํ•  ์ˆ˜ ์žˆ๋Š” ํšจ๊ณผ์ ์ธ ๋ฐฉ๋ฒ•์ด๋ผ๊ณ  ์ƒ๊ฐํ•  ์ˆ˜ ์žˆ๋Š”๋ฐ, ํ•˜๋‚˜์˜ ์‚ฌ์„ค๋ง์—๋Š” private ip ๋ฅผ ๋ถ€์—ฌ๋ฐ›์€ ๊ธฐ๊ธฐ์™€ gateway ๋กœ ๊ตฌ์„ฑ๋˜์–ด ๊ฐ ๊ธฐ๊ธฐ๋Š” ์ธํ„ฐ๋„ท๊ณผ ํ†ต์‹ ํ•  ๋•Œ gateway ๋ฅผ ๊ฑฐ์ณ์„œ ํ†ต์‹ ์„ ํ•˜๊ฒŒ ๋œ๋‹ค. ๊ฐ๊ฐ์˜ private i.. 2021. 7. 24.
[Network] ๋„คํŠธ์›Œํฌ ํด๋ž˜์Šค, Network Class ์— ๋Œ€ํ•˜์—ฌ ๋„คํŠธ์›Œํฌ ํด๋ž˜์Šค์— ๋Œ€ํ•ด์„œ ์ดํ•ดํ•˜๊ธฐ ์ „์— ์•Œ์•„์•ผ ํ•  ๊ธฐ๋ณธ ์ง€์‹๋“ค (์ธํ„ฐ๋„ท, IP) ์— ๋Œ€ํ•ด์„œ ๋จผ์ € ์•Œ์•„๋ณด์ž. ์ธํ„ฐ๋„ท์€ TCP/IP ํ”„๋กœํ† ์ฝœ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•˜์—ฌ ๋„คํŠธ์›Œํฌ์—์„œ ํ†ต์‹ ์„ ํ•˜๋Š” ์—ฐ๊ฒฐ๋œ ๊ด‘๋ฒ”์œ„ํ•œ ํ†ต์‹ ๋ง์„ ์˜๋ฏธํ•œ๋‹ค. ์ตœ์ดˆ์˜ ๋„คํŠธ์›Œํฌ๋Š” ๋ฏธ ๊ตญ๋ฐฉ์„ฑ์˜ ARPANET ์—์„œ ์‹œ์ž‘๋˜์—ˆ๋Š”๋ฐ, ์ด๋Ÿฌํ•œ ์ธํ„ฐ๋„ท ํ™˜๊ฒฝ์—์„œ ๊ฐ๊ฐ์˜ ๊ธฐ๊ธฐ๋“ค์ด ์„œ๋กœ๋ฅผ ์‹๋ณ„ํ•˜๊ธฐ ์œ„ํ•ด์„œ IP ๋ผ๋Š” ์ฒด๊ณ„๋ฅผ ์‚ฌ์šฉํ•˜๊ฒŒ ๋œ๋‹ค. IP ๋Š” Internet Protocol Address ์˜ ์ค„์ž„๋ง๋กœ ์ธํ„ฐ๋„ท์— ์—ฐ๊ฒฐ๋œ ๋ชจ๋“  ์ปดํ“จํ„ฐ ์ž์›์„ ๊ตฌ๋ถ„ํ•˜๊ธฐ ์œ„ํ•œ ๊ณ ์œ ํ•œ ์ฃผ์†Œ๋ฅผ ์˜๋ฏธํ•œ๋‹ค. ์ด๋Ÿฌํ•œ IP๋ฅผ ์—ฌ๋Ÿฌ ๊ธฐ๊ธฐ์—์„œ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด์„œ IP๋ฅผ ๋‚˜๋ˆ„๋Š” ๋‹ค์–‘ํ•œ ๋ฐฉ๋ฒ•์„ ๊ณ ์•ˆํ•ด ๋‚ด์—ˆ๋Š”๋ฐ, ๊ทธ ๋ฐฉ๋ฒ• ์ค‘ ํ•˜๋‚˜๊ฐ€ ๋ฐ”๋กœ ๋„คํŠธ์›Œํฌ ํด๋ž˜์Šค์ด๋‹ค. ๋„คํŠธ์›Œํฌ ํด๋ž˜์Šค, Network Class ๋„คํŠธ์›Œํฌ ํด๋ž˜.. 2021. 7. 22.
[Network] Packet Switching, ํŒจํ‚ท ๊ตํ™˜ ๋ฐฉ์‹์— ๋Œ€ํ•ด์„œ ๋„คํŠธ์›Œํฌ ํ†ต์‹ ์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์–ด๋–ป๊ฒŒ ์ „๋‹ฌํ• ์ง€์— ๋”ฐ๋ผ์„œ ํฌ๊ฒŒ 2๊ฐ€์ง€๋กœ ๋‚˜๋‰˜๊ฒŒ ๋œ๋‹ค. ํšŒ์„  ๊ตํ™˜ ๋ฐฉ์‹ ํŒจํ‚ท ๊ตํ™˜ ๋ฐฉ์‹ ์˜ค๋Š˜์€ ์ปดํ“จํ„ฐ ๋„คํŠธ์›Œํฌ์—์„œ ๊ฐ€์žฅ ๋งŽ์ด, ๋ณดํŽธ์ ์œผ๋กœ ์‚ฌ์šฉ๋˜๋Š” ํŒจํ‚ท ๊ตํ™˜ ๋ฐฉ์‹์— ๋Œ€ํ•ด์„œ ์ด์•ผ๊ธฐํ•ด๋ณด๋ ค ํ•œ๋‹ค. Packet Switching ๋ฐฉ๋ฒ• ํŒจํ‚ท ๊ตํ™˜(Packet Switching) ์€ ๊ทธ ์ด๋ฆ„์—์„œ ์•Œ ์ˆ˜ ์žˆ์ง€๋งŒ ๋ฐ์ดํ„ฐ์˜ ๋‹จ์œ„์ธ ํŒจํ‚ท์„ ์ด์šฉํ•ด์„œ ๋ชฉ์ ์ง€์˜ ์ปดํ“จํ„ฐ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ „๋‹ฌํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๋งํ•œ๋‹ค. ์ž‘์€ ๋ธ”๋ก์˜ ํŒจํ‚ท์„ ๋ฐ์ดํ„ฐ๋ฅผ ์ „์†กํ•˜๊ณ  ๋ฐ์ดํ„ฐ๋ฅผ ์ „์†กํ•˜๋Š” ๋™์•ˆ๋งŒ ๋„คํŠธ์›Œํฌ ์ž์›์„ ์—ฐ๊ฒฐํ•˜๋Š” ํ˜•ํƒœ์ด๋‹ค. ์ „์šฉ ํšŒ์„  ์ด๋ผ๋Š” ๊ฒƒ์ด ์กด์žฌํ•˜๊ณ  ํ•ด๋‹น ํšŒ์„ ์„ ๋…์ ์ ์œผ๋กœ ์ ์œ ํ•˜๋Š” ํšŒ์„  ๊ตํ™˜ ๋ฐฉ์‹๊ณผ๋Š” ๋Œ€์กฐ์ ์ธ ๋ฐฉ๋ฒ•์ด๋‹ค. ์ด๋Ÿฌํ•œ ํŒจํ‚ท ๊ตํ™˜์—๋Š” 2๊ฐ€์ง€ ๋ฐฉ๋ฒ•์œผ๋กœ ๊ตฌํ˜„๋  ์ˆ˜ ์žˆ๋Š”๋ฐ, ๋ฐ์ดํ„ฐ ๊ทธ๋žจ ๋ฐฉ์‹ (Datagram) ๊ฐ€์ƒ .. 2021. 7. 22.