๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ214

์ทจ์—…ํ–ˆ์Šต๋‹ˆ๋‹ค ์ทจ์—… ์„ฑ๊ณตํ–ˆ์Šต๋‹ˆ๋‹ค. ๋ฏฟ์–ด์ค€ ์‚ฌ๋žŒ๋“ค๊ณผ ssafy์—๊ฒŒ ํฐ ๊ฐ์‚ฌ ๋“œ๋ฆฝ๋‹ˆ๋‹ค. ์ž์„ธํ•œ ์ทจ์—… ์ˆ˜๊ธฐ๋Š” ์‹œ๊ฐ„ ๋‚˜๋ฉด ์ ๊ฒ ์Šต๋‹ˆ๋‹ค. 2023. 6. 11.
[๋ฐฑ์ค€] 1799 ๋น„์ˆ (Python/ํŒŒ์ด์ฌ) https://www.acmicpc.net/problem/1799 1799๋ฒˆ: ๋น„์ˆ ์ฒซ์งธ ์ค„์— ์ฒด์ŠคํŒ์˜ ํฌ๊ธฐ๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ์ฒด์ŠคํŒ์˜ ํฌ๊ธฐ๋Š” 10์ดํ•˜์˜ ์ž์—ฐ์ˆ˜์ด๋‹ค. ๋‘˜์งธ ์ค„๋ถ€ํ„ฐ ์•„๋ž˜์˜ ์˜ˆ์™€ ๊ฐ™์ด ์ฒด์ŠคํŒ์˜ ๊ฐ ์นธ์— ๋น„์ˆ์„ ๋†“์„ ์ˆ˜ ์žˆ๋Š”์ง€ ์—†๋Š”์ง€์— ๋Œ€ํ•œ ์ •๋ณด๊ฐ€ ์ฒด์ŠคํŒ ํ•œ ์ค„ ๋‹จ์œ„๋กœ www.acmicpc.net 1. ๋ฐฑํŠธ๋ž˜ํ‚น์œผ๋กœ ํ‘ธ๋Š” ๋ฌธ์ œ์ง€๋งŒ ๋‹จ์ˆœํ•˜๊ฒŒ ๊ตฌํ˜„ํ•˜๋ฉด ์‹œ๊ฐ„์ดˆ๊ณผ๊ฐ€ ๋‚˜๊ธฐ ๋•Œ๋ฌธ์— ์ตœ์ ํ™”๋ฅผ ํ•˜๊ธฐ ์œ„ํ•œ ์•„์ด๋””์–ด๊ฐ€ ํ•„์š”ํ•œ ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค. 2. ๋Œ€๊ฐ์„ ์œผ๋กœ๋งŒ ์›€์ง์ด๋Š” ๋น„์ˆ์˜ ํŠน์ง•์„ ๊ณ ๋ คํ•  ๋•Œ ๊ฒ€์€์ƒ‰ ์นธ์— ๋†“์ธ ๋น„์ˆ์€ ๊ฒ€์€์ƒ‰ ์นธ์œผ๋กœ๋งŒ ์›€์ง์ผ ์ˆ˜ ์žˆ๊ณ  ํ•˜์–€์ƒ‰ ์นธ์— ๋†“์ธ ๋น„์ˆ์€ ํ•˜์–€์ƒ‰ ์นธ์œผ๋กœ๋งŒ ์›€์ง์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. 3. ๋”ฐ๋ผ์„œ ๊ฒ€์€์ƒ‰๊ณผ ํ•˜์–€์ƒ‰ ๊ฐ๊ฐ์˜ ์นธ์— ๋Œ€ํ•ด ๋น„์ˆ์„ ๋†“๋Š” ๊ฒฝ์šฐ์˜ ์ˆ˜๋ฅผ ๋”ฐ๋กœ ๊ตฌํ•ด์„œ ๋”ํ•ด์ฃผ๋Š” ๋ฐฉ์‹์œผ๋กœ ์ตœ์ ํ™”๋ฅผ ํ• .. 2023. 6. 5.
[๋ฐฑ์ค€] 20165 ์ธ๋‚ด์˜ ๋„๋ฏธ๋…ธ ์žฅ์ธ ํ˜ธ์„ (Python/ํŒŒ์ด์ฌ) https://www.acmicpc.net/problem/20165 20165๋ฒˆ: ์ธ๋‚ด์˜ ๋„๋ฏธ๋…ธ ์žฅ์ธ ํ˜ธ์„ ์‚ฌ๋žŒ์„ ํ™”๋‚˜๊ฒŒ ํ•˜๋Š” ๋ฒ•์€ ๋‹ค์–‘ํ•˜๋‹ค. ๊ทธ ์ค‘์—์„œ๋„ ์•…์งˆ์€ ๋ฐ”๋กœ ์—ด์‹ฌํžˆ ์„ธ์›Œ๋†“์€ ๋„๋ฏธ๋…ธ๋ฅผ ๋„˜์–ด๋œจ๋ฆฌ๋Š” ๊ฒƒ์ด๋‹ค. ์ด๋ฒˆ์— ์ถœ์‹œ๋œ ๋ณด๋“œ ๊ฒŒ์ž„์ธ "๋„ˆ ์ฃฝ๊ณ  ๋‚˜ ์‚ด์ž ๊ฒŒ์ž„"์€ ๋ฐ”๋กœ ์ด ์ ์„ ์ด์šฉํ•ด์„œ 2๋ช…์ด www.acmicpc.net 1. ๋ฌด๋‚œํ•œ ๊ตฌํ˜„ ๋ฌธ์ œ๋กœ ์ˆ˜๋น„์™€ ๊ณต๊ฒฉ ํ•จ์ˆ˜๋ฅผ ๊ตฌํ˜„ํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค. 2. ๊ณต๊ฒฉ ํ•จ์ˆ˜๋Š” ์žฌ๊ท€์ ์œผ๋กœ ๊ตฌํ˜„ํ•˜์˜€์œผ๋ฉฐ ์ด๋ฏธ ๋„˜์–ด์ง„ ๋ธ”๋Ÿญ๊ณผ ๋ฒ”์œ„๋ฅผ ์ž˜ ํ™•์ธํ•ด์„œ ๊ตฌํ˜„ํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค. import sys, os, io, atexit input = lambda: sys.stdin.readline().rstrip('\r\n') stdout = io.BytesIO() sys.stdout.write = lambd.. 2023. 5. 14.
[๋ฐฑ์ค€] 1421 ๋‚˜๋ฌด๊พผ ์ด๋‹ค์†œ (Python/ํŒŒ์ด์ฌ) https://www.acmicpc.net/problem/1421 1421๋ฒˆ: ๋‚˜๋ฌด๊พผ ์ด๋‹ค์†œ ์ฒซ์งธ ์ค„์— ์ด๋‹ค์†œ์ด ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ๋‚˜๋ฌด์˜ ๊ฐœ์ˆ˜ N๊ณผ ๋‚˜๋ฌด๋ฅผ ์ž๋ฅผ ๋•Œ ๋“œ๋Š” ๋น„์šฉ C์™€ ๋‚˜๋ฌด ํ•œ ๋‹จ์œ„์˜ ๊ฐ€๊ฒฉ W์ด ์ฃผ์–ด์ง„๋‹ค. ๋‘˜์งธ ์ค„๋ถ€ํ„ฐ ์ด N๊ฐœ์˜ ์ค„์— ์ด๋‹ค์†œ์ด ๊ฐ€์ง€๊ณ  ์ž‡๋Š” ๋‚˜๋ฌด์˜ ๊ธธ์ด๊ฐ€ ํ•œ ์ค„์— ํ•˜๋‚˜ www.acmicpc.net 1. ๊ธฐ๋ณธ์ ์œผ๋กœ ๋‚˜๋ฌด๊ฐ€ 50๊ฐœ ์ดํ•˜๊ณ  ๋‚˜๋ฌด ๊ธธ์ด๊ฐ€ 10000์ดํ•˜๋ผ์„œ O(N^2)์—ฌ๋„ ๋Œ€๋žต 50 * 10000 = 50๋งŒ ๋ฒˆ ์—ฐ์‚ฐ์„ ํ•ด์„œ ์™„์ „ ํƒ์ƒ‰์œผ๋กœ ํ’€ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. 2. ๊ธธ์ด๊ฐ€ 1๋ถ€ํ„ฐ ๊ฐ€์žฅ ๊ธด ๋‚˜๋ฌด๊นŒ์ง€ ๋ชจ๋‘ ์ž˜๋ผ๋ณด๋ฉฐ ์ตœ๋Œ€ ์ด์ต์„ ๊ตฌํ•˜๋ฉด ๋˜๋Š”๋ฐ 2๊ฐ€์ง€ ํ•จ์ •์ด ์žˆ์Šต๋‹ˆ๋‹ค. 3. ์ฒซ์งธ, ๋‚˜๋ฌด๊ฐ€ ๋‚จ๋Š” ๋ถ€๋ถ„ ์—†์ด ๋”ฑ ์ž˜๋ฆด ๊ฒฝ์šฐ์—๋Š” ์ž˜๋ฆฐ ํšŸ์ˆ˜๋ฅผ 1 ๋นผ์ค˜์•ผ๋ฉ๋‹ˆ๋‹ค (ex ๊ธธ์ด๊ฐ€ 8์ธ ๋‚˜๋ฌด๋ฅผ 2์˜ ๊ธธ์ด๋กœ.. 2023. 5. 8.
์›น์†Œ์ผ“์„ ํ™œ์šฉํ•ด ์‹ค์‹œ๊ฐ„ ์ฑ„ํŒ… ๊ตฌํ˜„ํ•˜๊ธฐ - React ์›น์†Œ์ผ“์„ ํ™œ์šฉํ•ด ์‹ค์‹œ๊ฐ„ ์ฑ„ํŒ… ๊ตฌํ˜„ํ•˜๊ธฐ - React ์›น์†Œ์ผ“์„ ํ™œ์šฉํ•ด ์‹ค์‹œ๊ฐ„ ์ฑ„ํŒ… ๊ตฌํ˜„ํ•˜๊ธฐ - Springboot ์›น์†Œ์ผ“์„ ํ™œ์šฉํ•ด ์‹ค์‹œ๊ฐ„ ์ฑ„ํŒ… ๊ตฌํ˜„ํ•˜๊ธฐ - React React ์ฝ”๋“œ ์‚ฌ์‹ค ์›น์†Œ์ผ“์—์„œ ๋ฐฑ์—”๋“œ๋Š” ์ค‘๊ฐœ์—ญํ• ๋งŒ ํ•˜๊ณ  ๋Œ€๋ถ€๋ถ„์˜ ์ž‘์—… (์›น์†Œ์ผ“ ๊ฐ์ฒด ์ƒ์„ฑ, ์—ฐ๊ฒฐ, ๋ฐ์ดํ„ฐ ์†ก์ˆ˜์‹ )์€ ํ”„๋ก ํŠธ์—์„œ ์ด๋ฃจ์–ด์ง„๋‹ค. ์•„๋ž˜ ์ฝ”๋“œ๋Š” ์›น์†Œ์ผ“์„ ๊ธฐ๋ฐ˜์œผ๋กœ ๊ฐ„๋‹จํ•œ ์‹ค์‹œ๊ฐ„ ์ฑ„ํŒ…์„ ๊ตฌํ˜„ํ•œ ํ”„๋ก ํŠธ ์ฝ”๋“œ์ด๋‹ค. ํ•ด๋‹น ์ฝ”๋“œ๋Š” ๋ฉ”์„ธ์ง€๋ฅผ ์ฃผ๊ณ  ๋ฐ›์ง€๋งŒ ๊ฒฐ๊ตญ ๋ฌด์—‡์ด ๋๋“  ์›น์†Œ์ผ“์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ  ๋ฐ›๋Š” ์›๋ฆฌ๋Š” ๋˜‘๊ฐ™์•„์„œ, ์ฝ”๋“œ๋ฅผ ๋ณ€ํ˜•ํ•˜๋ฉด ํ›จ์”ฌ ๋‹ค์–‘ํ•œ ๊ธฐ๋Šฅ๋“ค์„ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ๋‹ค. ์•„์‰ฝ๊ฒŒ๋„ ๋‚ด๊ฐ€ ํ”„๋ก ํŠธ๊ฐ€ ์•„๋‹ˆ๋ผ ๋”ฐ๋กœ ๋””์ž์ธ์€ ๋„ฃ์ง€ ์•Š์•˜๋‹ค. ์‹ค์ œ ํ”„๋กœ์ ํŠธ์—์„œ ์‚ฌ์šฉํ–ˆ๋˜ ์ฝ”๋“œ๋ฅผ ๊ฐ€์ ธ์˜จ ๊ฑฐ๋ผ ๋‹ค๋ฅธ ํ”„๋กœ์ ํŠธ์— ์ ์šฉํ•  ๊ฒฝ์šฐ ์ ์ ˆํžˆ ๋ณ€ํ˜•ํ•ด์„œ ์‚ฌ์šฉํ•˜๋ฉด ๋œ๋‹ค. ์ฝ”๋“œ ๋Œ€.. 2023. 5. 6.
์›น์†Œ์ผ“์„ ํ™œ์šฉํ•ด ์‹ค์‹œ๊ฐ„ ์ฑ„ํŒ… ๊ตฌํ˜„ํ•˜๊ธฐ - Spring ์›น์†Œ์ผ“์„ ํ™œ์šฉํ•ด ์‹ค์‹œ๊ฐ„ ์ฑ„ํŒ… ๊ตฌํ˜„ํ•˜๊ธฐ - Spring ์›น์†Œ์ผ“์„ ํ™œ์šฉํ•ด ์‹ค์‹œ๊ฐ„ ์ฑ„ํŒ… ๊ตฌํ˜„ํ•˜๊ธฐ - Springboot ์›น์†Œ์ผ“์„ ํ™œ์šฉํ•ด ์‹ค์‹œ๊ฐ„ ์ฑ„ํŒ… ๊ตฌํ˜„ํ•˜๊ธฐ - React ์›น์†Œ์ผ“์ด๋ž€ โœ” WebSocket์€ ์‹ค์‹œ๊ฐ„ ์–‘๋ฐฉํ–ฅ ํ†ต์‹ ์„ ์œ„ํ•œ ํ”„๋กœํ† ์ฝœ์˜ ์ผ์ข…์ด๋‹ค. WebSocket์€ ๊ธฐ๋ณธ์ ์œผ๋กœ TCP ํ”„๋กœํ† ์ฝœ์„ ์‚ฌ์šฉํ•˜๋ฉฐ, ํ•ธ๋“œ์‰์ดํฌ ๊ณผ์ •์„ ํ†ตํ•ด ์—ฐ๊ฒฐ์„ ์ˆ˜๋ฆฝํ•œ ํ›„, ์ง€์†์ ์ธ ์—ฐ๊ฒฐ์„ ํ†ตํ•ด ์–‘๋ฐฉํ–ฅ ํ†ต์‹ ์ด ๊ฐ€๋Šฅํ•˜๊ฒŒ ๋œ๋‹ค. ์ฃผ๋กœ ์‹ค์‹œ๊ฐ„ ์ฑ„ํŒ…, ๊ฒŒ์ž„ ๋“ฑ์— ๋งŽ์ด ์“ฐ์ธ๋‹ค ์›น์†Œ์ผ“์˜ ์žฅ์  ๋ฐ ํŠน์ง• (vs HTTP) โœ” ์›น์†Œ์ผ“์˜ ํ•ต์‹ฌ ํ‚ค์›Œ๋“œ๋Š” ์ง€์†์ ์ธ ์—ฐ๊ฒฐ์ด๋‹ค. ์›น์†Œ์ผ“์˜ ์žฅ์ ๊ณผ ํŠน์ง•์€ HTTP์™€ ๋น„๊ตํ–ˆ์„ ๋•Œ ๋ช…ํ™•ํ•ด์ง„๋‹ค. ์ผ๋ฐ˜์ ์œผ๋กœ ์‚ฌ์šฉ๋˜๋Š” HTTP๋Š” stateless, connectionless๋ผ๋Š” ํŠน์ง•์œผ๋กœ ์ธํ•ด ์‹ค์‹œ๊ฐ„์œผ๋กœ ์–‘๋ฐฉํ–ฅ ํ†ต์‹ ์„ .. 2023. 4. 23.