์ „์ฒด ๊ธ€

์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์ค€๋น„ ๋ธ”๋กœ๊ทธ: https://velog.io/@chaerlo127
3-way handshake TCP/IP ํ”„๋กœํ† ์ฝœ๋กœ ํ†ต์‹ ํ•˜๊ธฐ ์ „, ์ •ํ™•ํ•œ ์ •๋ณด ์ „์†ก์„ ์œ„ํ•ด ์ƒ๋Œ€๋ฐฉ ์ปดํ“จํ„ฐ์™€ ์„ธ์…˜์„ ์ˆ˜๋ฆฝํ•˜๋Š” ๊ณผ์ • TCP ์—ฐ๊ฒฐ ์ดˆ๊ธฐํ™” ์„œ๋กœ ํ†ต์‹ ์„ ์œ„ํ•ด ๊ด€๋ฌธ(port)๋ฅผ ํ™•์ธํ•˜๊ณ  ์—ฐ๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด 3๋ฒˆ์˜ ์š”์ฒญ(SYN), ์‘๋‹ต(ACK) ๋˜๋Š” ๊ฒƒ ์ด ๊ณผ์ •์—์„œ ์‹œ๊ฐ„์ด ๋งŽ์ด ์†Œ์š”๋จ TCP ๊ณผ์ • ์ค‘(connection setup - data transfer - connection termination) connection setup์— ํ•ด๋‹น ์—ฐ๊ฒฐ ๊ณผ์ • ํŒจํ‚ท = ์„ธ๊ทธ๋จผํŠธ (TCP ์—์„œ) ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์„œ๋ฒ„์— ์—ฐ๊ฒฐ ์š”์ฒญ์„ ์œ„ํ•ด SYN ํŒจํ‚ท ์ „์†ก ์„œ๋ฒ„์—์„œ ํ•ด๋‹น ํฌํŠธ๋Š” LISTEN ์ƒํƒœ๋กœ SYN ํŒจํ‚ท์„ ๋ฐ›๊ณ  SYN_RCV ์ƒํƒœ๋กœ ๋ณ€๊ฒฝ ์„œ๋ฒ„๋Š” ์ •์ƒ์ ์œผ๋กœ ๋ฐ›์•˜๋‹ค๋Š” ACK ํŒจํ‚ท + ์ƒ๋Œ€๋ฐฉ์˜ ํฌํŠธ๋ฅผ ์—ด์–ด๋‹ฌ๋ผ๋Š” SYN ํŒจ..
๐Ÿ€ ๋ฌธ์ œ ์‹ ์ข… ๋ฐ”์ด๋Ÿฌ์Šค์ธ ์›œ ๋ฐ”์ด๋Ÿฌ์Šค๋Š” ๋„คํŠธ์›Œํฌ๋ฅผ ํ†ตํ•ด ์ „ํŒŒ๋œ๋‹ค. ํ•œ ์ปดํ“จํ„ฐ๊ฐ€ ์›œ ๋ฐ”์ด๋Ÿฌ์Šค์— ๊ฑธ๋ฆฌ๋ฉด ๊ทธ ์ปดํ“จํ„ฐ์™€ ๋„คํŠธ์›Œํฌ ์ƒ์—์„œ ์—ฐ๊ฒฐ๋˜์–ด ์žˆ๋Š” ๋ชจ๋“  ์ปดํ“จํ„ฐ๋Š” ์›œ ๋ฐ”์ด๋Ÿฌ์Šค์— ๊ฑธ๋ฆฌ๊ฒŒ ๋œ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด 7๋Œ€์˜ ์ปดํ“จํ„ฐ๊ฐ€ ๊ณผ ๊ฐ™์ด ๋„คํŠธ์›Œํฌ ์ƒ์—์„œ ์—ฐ๊ฒฐ๋˜์–ด ์žˆ๋‹ค๊ณ  ํ•˜์ž. 1๋ฒˆ ์ปดํ“จํ„ฐ๊ฐ€ ์›œ ๋ฐ”์ด๋Ÿฌ์Šค์— ๊ฑธ๋ฆฌ๋ฉด ์›œ ๋ฐ”์ด๋Ÿฌ์Šค๋Š” 2๋ฒˆ๊ณผ 5๋ฒˆ ์ปดํ“จํ„ฐ๋ฅผ ๊ฑฐ์ณ 3๋ฒˆ๊ณผ 6๋ฒˆ ์ปดํ“จํ„ฐ๊นŒ์ง€ ์ „ํŒŒ๋˜์–ด 2, 3, 5, 6 ๋„ค ๋Œ€์˜ ์ปดํ“จํ„ฐ๋Š” ์›œ ๋ฐ”์ด๋Ÿฌ์Šค์— ๊ฑธ๋ฆฌ๊ฒŒ ๋œ๋‹ค. ํ•˜์ง€๋งŒ 4๋ฒˆ๊ณผ 7๋ฒˆ ์ปดํ“จํ„ฐ๋Š” 1๋ฒˆ ์ปดํ“จํ„ฐ์™€ ๋„คํŠธ์›Œํฌ์ƒ์—์„œ ์—ฐ๊ฒฐ๋˜์–ด ์žˆ์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— ์˜ํ–ฅ์„ ๋ฐ›์ง€ ์•Š๋Š”๋‹ค. ์–ด๋Š ๋‚  1๋ฒˆ ์ปดํ“จํ„ฐ๊ฐ€ ์›œ ๋ฐ”์ด๋Ÿฌ์Šค์— ๊ฑธ๋ ธ๋‹ค. ์ปดํ“จํ„ฐ์˜ ์ˆ˜์™€ ๋„คํŠธ์›Œํฌ ์ƒ์—์„œ ์„œ๋กœ ์—ฐ๊ฒฐ๋˜์–ด ์žˆ๋Š” ์ •๋ณด๊ฐ€ ์ฃผ์–ด์งˆ ๋•Œ, 1๋ฒˆ ์ปดํ“จํ„ฐ๋ฅผ ํ†ตํ•ด ์›œ ๋ฐ”์ด๋Ÿฌ์Šค์— ๊ฑธ๋ฆฌ๊ฒŒ ๋˜๋Š” ์ปดํ“จํ„ฐ์˜..
์ „์†ก ๊ณ„์ธต ํ”„๋กœํ† ์ฝœ TCP UDP TCP (Transmission Control Protocol) ์ „์†ก์„ ์ œ์–ดํ•˜๋Š” ๊ทœ์•ฝ ์—ฐ๊ฒฐํ˜• ์‹œ๋น„์Šค๋ฅผ ์ง€์›ํ•˜๋Š” ํ”„๋กœํ† ์ฝœ IP๋Š” ํŒจํ‚ท์„ ๋น ๋ฅด๊ฒŒ ์ „์†ก๋œ ํŒจํ‚ท์„ TCP๋Š”์ถ”์ ํ•˜๊ณ  ๊ด€๋ฆฌ TCP ์—์„œ ์ „์†กํ•˜๋Š” ํŒจํ‚ท = Segment ํŠน์ง• ์—ฐ๊ฒฐ ์ง€ํ–ฅ ๋ฐฉ์‹์œผ๋กœ ํŒจํ‚ท ๊ตํ™˜ ๋ฐฉ์‹ ์‚ฌ์šฉ (๊ฐ€์ƒ ํšŒ์„  X) ๋…ผ๋ฆฌ์  ๊ฒฝ๋กœ๋ฅผ ๋ฐฐ์ • 3-way handshaking์œผ๋กœ ์—ฐ๊ฒฐ์„ ์„ค์ • & 4-way handshaking์œผ๋กœ ํ•ด์ œ ํ๋ฆ„ ๋ฐ ํ˜ผ์žก ์ œ์–ด ๋†’์€ ์‹ ๋ขฐ์„ฑ ์ „์ด์ค‘(Full-Duplex), ์ ๋Œ€์ (Point-to-Point ๋ฐฉ์‹) ๋ฐ์ดํ„ฐ ์ „์†ก ์ˆœ์„œ ๋ณด์žฅ TCP header์—์„œ๋Š” checksum, ํ™•์ธ ์‘๋‹ต, ํƒ€์ž„-์•„์›ƒ ๋“ฑ์„ ํ†ตํ•ด ์ˆ˜ํ–‰ ๋‹จ์  ๋ฐ์ดํ„ฐ๋ฅผ ์ „์†กํ•˜๊ธฐ ์ „์— ๋ฐ˜๋“œ์‹œ ์—ฐ๊ฒฐ์ด ๋˜์–ด ์žˆ์–ด์•ผ ํ†ต์‹  ๊ฐ€๋Šฅ 1..
OSI & TCP/IP์˜ ๊ฐ ๊ณ„์ธต์€ ํ•˜์œ„ ๊ณ„์ธต์˜ ๊ธฐ๋Šฅ์„ ์ด์šฉํ•˜๊ณ , ์ƒ์œ„ ๊ณ„์ธต์—๊ฒŒ ๊ธฐ๋Šฅ์„ ์ œ๊ณต ex ) HTTP(์‘์šฉ)๋Š” TCP(์ „์†ก)์™€ IP(๋„คํŠธ์›Œํฌ/์ธํ„ฐ๋„ท)๋ฅผ ์ด์šฉํ•˜์—ฌ ์ž‘๋™ ์ƒ์œ„๊ณ„์ธต์˜ ํ”„๋กœํ† ์ฝœ์€ ์†Œํ”„ํŠธ์›จ์–ด๋กœ, ํ•˜์œ„ ๊ณ„์ธต์˜ ํ”„๋กœํ† ์ฝœ์€ ํ•˜๋“œ์›จ์–ด๋กœ ๊ตฌํ˜„ OSI 7๊ณ„์ธต ๋„คํŠธ์›Œํฌ ํ†ต์‹ ์„ ํ‘œ์ค€ํ™”ํ•œ ๋ชจ๋ธ, ํ†ต์‹  ์‹œ์Šคํ…œ์„ 7๋‹จ๊ณ„๋กœ ๋‚˜๋ˆ„์–ด ์„ค๋ช… ์‘์šฉ ๊ณ„์ธต์—์„œ ๋ฐ์ดํ„ฐ ์†ก์ˆ˜์‹ ์„ ์š”์ฒญํ•˜๊ณ  ํ•˜์œ„๊ณ„์ธต์— ์ˆœ์ฐจ์ ์œผ๋กœ ์ „๋‹ฌ๋˜์–ด ๋งจ ์•„๋ž˜ ์žˆ๋Š” ๋ฌผ๋ฆฌ ๊ณ„์ธต์„ ํ†ตํ•ด ์ƒ๋Œ€ ํ˜ธ์ŠคํŠธ์— ์ „์†ก ๊ณ„์ธต์„ ์ง€๋‚  ๋•Œ๋งˆ๋‹ค ๊ฐ ๊ณ„์ธต์—์„œ Header๊ฐ€ ๋ถ™๊ณ , ์ˆ˜์‹ ์ธก์—์„œ๋Š” ์—ญ์ˆœ์œผ๋กœ Header๋ฅผ ๋ถ„์„ [1๊ณ„์ธต] ๋ฌผ๋ฆฌ ํ˜ธ์ŠคํŠธ๋ฅผ ์ „์†ก๋งค์ฒด์™€ ์—ฐ๊ฒฐํ•˜๊ธฐ ์œ„ํ•œ ์ธํ„ฐํŽ˜์ด์Šค ๊ทœ์น™๊ณผ ์ „์†ก ๋งค์ฒด์˜ ํŠน์„ฑ ๋ฐ์ดํ„ฐ ์ „๊ธฐ์  ์‹ ํ˜ธ๋กœ ๋ณ€ํ™˜ํ•˜์—ฌ ์ฃผ๊ณ  ๋ฐ›๊ธฐ๋งŒ ํ•  ๋ฟ ํฌ๊ฒŒ ์œ ์„ ๋งค์ฒด์™€ ๋ฌด์„  ๋งค์ฒด๋กœ..
๐ŸŒธ ๋„คํŠธ์›Œํฌ ํ•˜๋“œ์›จ์–ด์ ์ธ ์ „์†ก ๋งค์ฒด๋ฅผ ๋งค๊ฐœ๋กœ ์„œ๋กœ ์—ฐ๊ฒฐ๋˜์–ด ๋ฐ์ดํ„ฐ๋ฅผ ๊ตํ™˜ํ•˜๋Š” ์‹œ์Šคํ…œ ์ „์†ก ๋งค์ฒด๋กœ ์—ฐ๊ฒฐ๋œ ์—ฌ๋Ÿฌ ์‹œ์Šคํ…œ์ด ํ”„๋กœํ† ์ฝœ์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ  ๋ฐ›์„ ๋•Œ, ํ•˜๋‚˜๋กœ ๋ฌถ๋Š” ๋‹จ์œ„ ๋„คํŠธ์›Œํฌ = ์‹œ์Šคํ…œ + ์ „์†ก๋งค์ฒด ๐ŸŒธ ์‹œ์Šคํ…œ ๋‚ด๋ถ€ ๊ทœ์น™์— ๋”ฐ๋ผ ์ž์œจ์ ์œผ๋กœ ๋™์ž‘ํ•˜๋Š” ๋Œ€์ƒ ์˜ˆ์‹œ ๋ฌผ๋ฆฌ์  ๋Œ€์ƒ : ์ž๋™์ฐจ, ํ•˜๋“œ๋””์Šคํฌ, ์ปดํ“จํ„ฐ ๋“ฑ ์†Œํ”„ํŠธ์›จ์–ด ๋Œ€์ƒ: ์šด์—ฌ ์‹œ์Šคํ…œ, ์šด์˜ ์ฒด์ œ, ํ”„๋กœ์„ธ์Šค ๋“ฑ ๋…ธ๋“œ ์ปดํ“จํ„ฐ ์ด๋ก  ๋ถ„์•ผ์—์„œ ํŠน์ • ์‹œ์Šคํ…œ์„ ๊ฐ€๋ฆฌํ‚ค๋Š” ๊ฐ€์žฅ ์ผ๋ฐ˜์ ์ธ ์šฉ์–ด ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ  ๋ฐ›์„ ์ˆ˜ ์žˆ๋Š” ๋ชจ๋“  ์‹œ์Šคํ…œ ๋…ธ๋“œ = ๋ผ์šฐํ„ฐ + ํ˜ธ์ŠคํŠธ ๋ผ์šฐํ„ฐ ์ธํ„ฐ๋„ท ๋‚ด๋ถ€๋ฅผ ๊ตฌ์„ฑ ๋ฐ์ดํ„ฐ ์ „์†ก ๊ธฐ๋Šฅ, ๋ฐ์ดํ„ฐ ์ค‘๊ฐœ ๊ธฐ๋Šฅ ํ˜ธ์ŠคํŠธ๋“ค ์‚ฌ์ด์˜ ๋ฐ์ดํ„ฐ ์ „์†ก์ด ์ธํ„ฐ๋„ท ๋‚ด๋ถ€์—์„œ ์ตœ์ ์˜ ๊ฒฝ๋กœ๋ฅผ ํ†ตํ•ด ์ด๋™ํ•˜๋„๋ก ๊ตฌ์„ฑ ํ˜ธ์ŠคํŠธ ์ธํ„ฐ๋„ท ๋ฐ”๊นฅ์ชฝ์„ ๊ตฌ์„ฑ ๋„คํŠธ์›Œํฌ ์ ‘์† ์ฐฝ๊ตฌ ํ˜ธ..
Sliver 2. ์ƒ‰์ข…์ด ๋งŒ๋“ค๊ธฐ ๐Ÿ€ ๋ฌธ์ œ ์•„๋ž˜ ๊ณผ ๊ฐ™์ด ์—ฌ๋Ÿฌ๊ฐœ์˜ ์ •์‚ฌ๊ฐํ˜•์นธ๋“ค๋กœ ์ด๋ฃจ์–ด์ง„ ์ •์‚ฌ๊ฐํ˜• ๋ชจ์–‘์˜ ์ข…์ด๊ฐ€ ์ฃผ์–ด์ ธ ์žˆ๊ณ , ๊ฐ ์ •์‚ฌ๊ฐํ˜•๋“ค์€ ํ•˜์–€์ƒ‰์œผ๋กœ ์น ํ•ด์ ธ ์žˆ๊ฑฐ๋‚˜ ํŒŒ๋ž€์ƒ‰์œผ๋กœ ์น ํ•ด์ ธ ์žˆ๋‹ค. ์ฃผ์–ด์ง„ ์ข…์ด๋ฅผ ์ผ์ •ํ•œ ๊ทœ์น™์— ๋”ฐ๋ผ ์ž˜๋ผ์„œ ๋‹ค์–‘ํ•œ ํฌ๊ธฐ๋ฅผ ๊ฐ€์ง„ ์ •์‚ฌ๊ฐํ˜• ๋ชจ์–‘์˜ ํ•˜์–€์ƒ‰ ๋˜๋Š” ํŒŒ๋ž€์ƒ‰ ์ƒ‰์ข…์ด๋ฅผ ๋งŒ๋“ค๋ ค๊ณ  ํ•œ๋‹ค. ์ „์ฒด ์ข…์ด์˜ ํฌ๊ธฐ๊ฐ€ N×N(N=2k, k๋Š” 1 ์ด์ƒ 7 ์ดํ•˜์˜ ์ž์—ฐ์ˆ˜) ์ด๋ผ๋ฉด ์ข…์ด๋ฅผ ์ž๋ฅด๋Š” ๊ทœ์น™์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค. ์ „์ฒด ์ข…์ด๊ฐ€ ๋ชจ๋‘ ๊ฐ™์€ ์ƒ‰์œผ๋กœ ์น ํ•ด์ ธ ์žˆ์ง€ ์•Š์œผ๋ฉด ๊ฐ€๋กœ์™€ ์„ธ๋กœ๋กœ ์ค‘๊ฐ„ ๋ถ€๋ถ„์„ ์ž˜๋ผ์„œ ์˜ I, II, III, IV์™€ ๊ฐ™์ด ๋˜‘๊ฐ™์€ ํฌ๊ธฐ์˜ ๋„ค ๊ฐœ์˜ N/2 × N/2์ƒ‰์ข…์ด๋กœ ๋‚˜๋ˆˆ๋‹ค. ๋‚˜๋ˆ„์–ด์ง„ ์ข…์ด I, II, III, IV ๊ฐ๊ฐ์— ๋Œ€ํ•ด์„œ๋„ ์•ž์—์„œ์™€ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ๋ชจ๋‘ ๊ฐ™์€ ์ƒ‰์œผ๋กœ ์น ํ•ด์ ธ ์žˆ์ง€..
15649๋ฒˆ: N๊ณผ M (1) ํ•œ ์ค„์— ํ•˜๋‚˜์”ฉ ๋ฌธ์ œ์˜ ์กฐ๊ฑด์„ ๋งŒ์กฑํ•˜๋Š” ์ˆ˜์—ด์„ ์ถœ๋ ฅํ•œ๋‹ค. ์ค‘๋ณต๋˜๋Š” ์ˆ˜์—ด์„ ์—ฌ๋Ÿฌ ๋ฒˆ ์ถœ๋ ฅํ•˜๋ฉด ์•ˆ๋˜๋ฉฐ, ๊ฐ ์ˆ˜์—ด์€ ๊ณต๋ฐฑ์œผ๋กœ ๊ตฌ๋ถ„ํ•ด์„œ ์ถœ๋ ฅํ•ด์•ผ ํ•œ๋‹ค. ์ˆ˜์—ด์€ ์‚ฌ์ „ ์ˆœ์œผ๋กœ ์ฆ๊ฐ€ํ•˜๋Š” ์ˆœ์„œ๋กœ ์ถœ๋ ฅํ•ด www.acmicpc.net ๐Ÿ€ ๋ฌธ์ œ ์ž์—ฐ์ˆ˜ N๊ณผ M์ด ์ฃผ์–ด์กŒ์„ ๋•Œ, ์•„๋ž˜ ์กฐ๊ฑด์„ ๋งŒ์กฑํ•˜๋Š” ๊ธธ์ด๊ฐ€ M์ธ ์ˆ˜์—ด์„ ๋ชจ๋‘ ๊ตฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค. 1๋ถ€ํ„ฐ N๊นŒ์ง€ ์ž์—ฐ์ˆ˜ ์ค‘์—์„œ ์ค‘๋ณต ์—†์ด M๊ฐœ๋ฅผ ๊ณ ๋ฅธ ์ˆ˜์—ด ๐Ÿ€ ์ž…๋ ฅ ์ฒซ์งธ ์ค„์— ์ž์—ฐ์ˆ˜ N๊ณผ M์ด ์ฃผ์–ด์ง„๋‹ค. (1 ≤ M ≤ N ≤ 8) ๐Ÿ€ ์ถœ๋ ฅ ํ•œ ์ค„์— ํ•˜๋‚˜์”ฉ ๋ฌธ์ œ์˜ ์กฐ๊ฑด์„ ๋งŒ์กฑํ•˜๋Š” ์ˆ˜์—ด์„ ์ถœ๋ ฅํ•œ๋‹ค. ์ค‘๋ณต๋˜๋Š” ์ˆ˜์—ด์„ ์—ฌ๋Ÿฌ ๋ฒˆ ์ถœ๋ ฅํ•˜๋ฉด ์•ˆ๋˜๋ฉฐ, ๊ฐ ์ˆ˜์—ด์€ ๊ณต๋ฐฑ์œผ๋กœ ๊ตฌ๋ถ„ํ•ด์„œ ์ถœ๋ ฅํ•ด์•ผ ํ•œ๋‹ค. ์ˆ˜์—ด์€ ์‚ฌ์ „ ์ˆœ์œผ๋กœ ์ฆ๊ฐ€ํ•˜๋Š” ์ˆœ์„œ๋กœ ์ถœ๋ ฅํ•ด์•ผ ํ•œ๋‹ค. ๐Ÿ€ ์˜ˆ์ œ..
๐ŸŒฑ ๋ฌธ์ œ 1260๋ฒˆ: DFS์™€ BFS ์ฒซ์งธ ์ค„์— ์ •์ ์˜ ๊ฐœ์ˆ˜ N(1 ≤ N ≤ 1,000), ๊ฐ„์„ ์˜ ๊ฐœ์ˆ˜ M(1 ≤ M ≤ 10,000), ํƒ์ƒ‰์„ ์‹œ์ž‘ํ•  ์ •์ ์˜ ๋ฒˆํ˜ธ V๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ๋‹ค์Œ M๊ฐœ์˜ ์ค„์—๋Š” ๊ฐ„์„ ์ด ์—ฐ๊ฒฐํ•˜๋Š” ๋‘ ์ •์ ์˜ ๋ฒˆํ˜ธ๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ์–ด๋–ค ๋‘ ์ •์  ์‚ฌ www.acmicpc.net ๐ŸŒฑ ํ•ด๊ฒฐ๊ณผ์ • 1. DFS ์™€ BFS์˜ ๊ฐœ๋…์„ ๊ณต๋ถ€ํ•œ ์ดํ›„ 2. ๊ทธ์— ๋งž๋Š” ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ–ˆ๋‹ค. ๐ŸŒฑ DFS (๊นŠ์ด ์šฐ์„  ํƒ์ƒ‰) ์žฌ๊ท€๋ฅผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— BFS ๋ณด๋‹ค ๋Š๋ฆฐ ๊ฒƒ์ด ํŠน์ง• BFS์™€ ๋‹ฌ๋ฆฌ ์–ด๋–ค ๋…ธ๋“œ๋ฅผ ๋ฐฉ๋ฌธํ–ˆ๋Š”์ง€ ์—ฌ๋ถ€๋ฅผ ๋ฐ˜๋“œ์‹œ ๊ฒ€์‚ฌ ์‹œ๊ฐ„ ๋ณต์žก๋„ LinkedList : O(N + E), N: ์ •์ ์ˆ˜, E: ๊ฐ„์„  ์ˆ˜ ํ–‰๋ ฌ: O(N^2) ๐ŸŒฑ BFS (๋„ˆ๋น„ ์šฐ์„  ํƒ์ƒ‰) ์ตœ๋‹จ ๊ฒฝ๋กœ, ์ž„์˜์˜ ๊ฒฝ๋กœ๋ฅผ ์ฐพ๊ณ  ์‹ถ์€ ๊ฒฝ์šฐ ์žฌ๊ท€ X, Ite..
ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ๋ฌธ์ œ ํ’€์ด๋ฅผ ํ‹ฐ์Šคํ† ๋ฆฌ์—์„œ ์ž‘์„ฑํ•˜๋ฉด ์•ˆ๋˜๋Š” ์ด์œ  ์ฝ”๋”ฉ ํ…Œ์ŠคํŠธ ๋ฌธ์ œ๋ฅผ ๋ธ”๋กœ๊ทธ์— ์ž‘์„ฑํ•˜๋ฉด ์•ˆ ๋˜๋Š” ์ด์œ  ์ฝ”๋”ฉ ํ…Œ์ŠคํŠธ ๋ฌธ์ œ๋ฅผ ๋ธ”๋กœ๊ทธ์— ์˜ฌ๋ฆฌ๋ฉด ์•ˆ ๋˜๋Š” ์ด์œ  ๊ฐœ๋ฐœ ๋ธ”๋กœ๊ทธ๋ฅผ ์šด์˜ํ•˜๋ฉด์„œ ์ˆ˜์ต์„ ๊ทน๋Œ€ํ™”ํ•˜๊ธฐ ์œ„ํ•ด ๋‹ค๋ฅธ ๋ธ”๋กœ๊ทธ๋ฅผ ํƒ๋ฐฉํ•˜๋ฉด์„œ ์–ด๋–ค ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋ฅผ ์ฃผ์ œ๋กœ ํฌ์ŠคํŒ…ํ•˜๋Š”์ง€, ๊ธ€์€ ์–ด๋–ป๊ฒŒ ์ž‘ developer-talk.tistory.com ๋ฒจ๋กœ๊ทธ ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค๋Š” ๊ด‘๊ณ ๊ฐ€ ๋“ค์–ด๊ฐ„ ๋ธ”๋กœ๊ทธ์—์„œ๋Š” ๋ฌธ์ œ ์ž‘์„ฑ์ด ๋ถˆ๊ฐ€๋Šฅํ•˜๊ธฐ ๋•Œ๋ฌธ์— ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ๋ฌธ์ œ๋Š” ๊ด‘๊ณ ๊ฐ€ ๋ถ™์ง€ ์•Š๋Š” ์•„๋ž˜ ๋ฒจ๋กœ๊ทธ์—์„œ ์ž‘์„ฑํ•˜๊ณ ์ž ํ•œ๋‹ค. chaerlo127 (chaeng_ni) / ์ž‘์„ฑ๊ธ€ - velog velog.io
๋ฌธ์ œ 6588๋ฒˆ: ๊ณจ๋“œ๋ฐ”ํ์˜ ์ถ”์ธก ๊ฐ ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค์— ๋Œ€ํ•ด์„œ, n = a + b ํ˜•ํƒœ๋กœ ์ถœ๋ ฅํ•œ๋‹ค. ์ด๋•Œ, a์™€ b๋Š” ํ™€์ˆ˜ ์†Œ์ˆ˜์ด๋‹ค. ์ˆซ์ž์™€ ์—ฐ์‚ฐ์ž๋Š” ๊ณต๋ฐฑ ํ•˜๋‚˜๋กœ ๊ตฌ๋ถ„๋˜์–ด์ ธ ์žˆ๋‹ค. ๋งŒ์•ฝ, n์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์ด ์—ฌ๋Ÿฌ ๊ฐ€์ง€๋ผ๋ฉด, b-a๊ฐ€ ๊ฐ€์žฅ ํฐ www.acmicpc.net import math import sys # ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค ๊ฐฏ์ˆ˜ maxValue = 1000000 lists = [True] * (maxValue + 1) lists[0] = lists[1] = False # ์—๋ผํ† ์Šคํ…Œ๋„ค์Šค์˜ ์ฒด for i in range(2, int(math.sqrt(maxValue) + 1)): if lists[i]: # 1. ์‹œ๊ฐ„ ์ดˆ๊ณผ ๋‚˜์„œ ์ถ”๊ฐ€ํ•œ ๋‚ด์šฉ => ํ•œ ๋ฒˆ ํ™•์ธํ•œ ๋‚ด์šฉ์€ ๋‹ค์‹œ ํ™•์ธํ•˜์ง€ ์•Š์•„๋„๋จ ์•„๋‹ˆ๋ฉด ๊ฐ™..
chaerlo127
๐Ÿ€ chaeng_ni.develog