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

CS

gRPC

gRPC๋ž€?google์—์„œ ๊ฐœ๋ฐœํ•œ RPC(Remote Procedure Call)๋กœ ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„ ๊ฐ„์˜ ํ†ต์‹ ์„ ๊ฐ„ํŽธํ•˜๊ณ  ํšจ์œจ์ ์œผ๋กœ ํ•  ์ˆ˜ ์žˆ๋„๋ก ์„ค๊ณ„๋œ ํ”„๋กœํ† ์ฝœ์ด๋‹ค.์ฆ‰, ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„ ๊ฐ„์˜ ๋ฉ”์‹œ์ง€๋ฅผ ๋น ๋ฅด๊ณ  ์‹ ๋ขฐ์„ฑ ์žˆ๊ฒŒ ๊ตํ™˜ํ•  ์ˆ˜ ์žˆ๋„๋ก ๋„์™€์ค€๋‹ค.ํ”„๋กœํ† ์ฝœ ๋ฒ„ํผ (Protocol Buffers, Protobuf)gRPC๋Š” Protobuf๋ผ๋Š” ์ง๋ ฌํ™” ๋ฐฉ์‹์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ „์†กํ•œ๋‹ค.Protobuf๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์ด์ง„ ํ˜•์‹์œผ๋กœ ์ง๋ ฌํ™”ํ•˜๊ณ  ์—ญ์ง๋ ฌํ™”ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ, JSON์ด๋‚˜ XML๋ณด๋‹ค ํ›จ์”ฌ ๋น ๋ฅด๊ณ  ํšจ์œจ์ ์ด๋‹ค.ํŠนํžˆ ์ž‘์€ ๋ฉ”์‹œ์ง€ ํฌ๊ธฐ์˜ ๊ฒฝ์šฐ, ์ง๋ ฌํ™”/์—ญ์ง๋ ฌํ™” ๊ณผ์ •์—์„œ ๋งค์šฐ ๋น ๋ฅด๊ณ  ํšจ์œจ์ ์ธ ์ „์†ก์„ ์ œ๊ณต์ด ๊ฐ€๋Šฅํ•˜๋‹ค. ์ด ๋ฐฉ์‹์€ ๋ฐ์ดํ„ฐ์˜ ํฌ๊ธฐ๋ฅผ ์ตœ์†Œํ™”ํ•˜๊ณ , ์ง๋ ฌํ™” ๋ฐ ์—ญ์ง๋ ฌํ™” ์‹œ๊ฐ„์„ ํฌ๊ฒŒ ์ค„์—ฌ ๋„คํŠธ์›Œํฌ ๋Œ€์—ญํญ์„ ์ ˆ์•ฝํ•˜๊ณ  ์„ฑ..

CS

๋™๊ธฐ, ๋น„๋™๊ธฐ, ๋ธ”๋กœํ‚น, ๋…ผ๋ธ”๋กœํ‚น (cpp)

๋™๊ธฐ์™€ ๋น„๋™๊ธฐ๋™๊ธฐ์ž‘์—…์„ ์ˆœ์ฐจ์ ์œผ๋กœ ์ง„ํ–‰ํ•˜๋Š” ๋ฐฉ์‹ํ•˜๋‚˜์˜ ์ž‘์—…์ด ๋๋‚  ๋•Œ๊นŒ์ง€ ๋‹ค์Œ ์ž‘์—…์€ ์‹คํ–‰๋˜์ง€ ์•Š๊ณ  ๊ธฐ๋‹ค๋ฆฐ๋‹ค. ์˜ˆ์‹œ : ์ž‘์—… A -> ์ž‘์—… B -> ์ž‘์—… C (A๊ฐ€ ๋๋‚  ๋•Œ๊นŒ์ง€ B, C๋Š” ์‹คํ–‰๋˜์ง€ ์•Š์Œ)๋น„๋™๊ธฐ์ž‘์—…์„ ๊ธฐ๋‹ค๋ฆฌ์ง€ ์•Š๊ณ  ๋™์‹œ์— ์ง„ํ–‰์ž‘์—…์„ ์š”์ฒญํ•˜๋ฉด ๊ทธ ์ž‘์—…์ด ์™„๋ฃŒ๋  ๋•Œ๊นŒ์ง€ ๊ธฐ๋‹ค๋ฆฌ์ง€ ์•Š๊ณ , ๋‹ค๋ฅธ ์ž‘์—…์„ ๊ณ„์† ์ง„ํ–‰ ์˜ˆ์‹œ : ์ž‘์—… A -> ์ž‘์—… B -> ์ž‘์—… C (A๊ฐ€ ์ง„ํ–‰๋˜๋Š” ๋™์•ˆ B์™€ C๋„ ๋™์‹œ์— ์‹คํ–‰๋  ์ˆ˜ ์žˆ์Œ)๋ธ”๋กœํ‚น๊ณผ ๋…ผ๋ธ”๋กœํ‚น๋ธ”๋กœํ‚น์ž‘์—…์ด ์™„๋ฃŒ๋  ๋•Œ๊นŒ์ง€ ์ œ์–ด๊ถŒ์„ ๋ฐ˜ํ™˜ํ•˜์ง€ ์•Š๋Š” ๋ฐฉ์‹์–ด๋– ํ•œ ์ž‘์—…์ด ๋๋‚ ๋•Œ๊นŒ์ง€ ๊ธฐ๋‹ค๋ ธ๋‹ค๊ฐ€ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๊ฒฝ์šฐ ์˜ˆ์‹œ : ์ž‘์—… A -> ๋Œ€๊ธฐ -> ์ž‘์—… B -> ๋Œ€๊ธฐ -> ์ž‘์—… C (๊ฐ ์ž‘์—…์ด ๋๋‚  ๋•Œ๊นŒ์ง€ ๋Œ€๊ธฐ)๋…ผ๋ธ”๋กœํ‚น์ž‘์—…์ด ์ง„ํ–‰๋˜๋Š” ๋™์•ˆ์—๋„ ์ œ์–ด๊ถŒ์„ ๋ฐ˜ํ™˜ํ•˜๊ณ  ๋‹ค๋ฅธ ์ž‘์—…์„ ๊ณ„..

CS

process, thread

processํ”„๋กœ์„ธ์Šค๋Š” ์‹คํ–‰ ์ค‘์ธ ํ”„๋กœ๊ทธ๋žจ์˜ ๋…๋ฆฝ์ ์ธ ๋‹จ์œ„์šด์˜์ฒด์ œ๋Š” ๊ฐ ํ”„๋กœ์„ธ์Šค๋ฅผ ๋ณ„๋„์˜ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์„ ํ• ๋‹นํ•˜๋ฉฐ, ํ”„๋กœ์„ธ์Šค ๊ฐ„์—๋Š” ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์ด ๊ณต์œ ๋˜์ง€ ์•Š๋Š”๋‹ค.thread์Šค๋ ˆ๋“œ๋Š” ํ”„๋กœ์„ธ์Šค ๋‚ด์—์„œ ์‹คํ–‰๋˜๋Š” ์ž‘์—…์˜ ๋‹จ์œ„ํ•œ ํ”„๋กœ์„ธ์Šค ๋‚ด์— ์—ฌ๋Ÿฌ ์Šค๋ ˆ๋“œ๊ฐ€ ์กด์žฌํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ํ”„๋กœ์„ธ์Šค์˜ ์ž์›์„ ๊ณต์œ  ๊ตฌ๋ถ„  ProcessThread๊ธฐ๋ณธ ๋‹จ์œ„์‹คํ–‰ ์ค‘์ธ ํ”„๋กœ๊ทธ๋žจ์˜ ๋…๋ฆฝ์ ์ธ ๋‹จ์œ„ํ”„๋กœ์„ธ์Šค ๋‚ด ์ž‘์—…์˜ ์‹คํ–‰ ๋‹จ์œ„๋ฉ”๋ชจ๋ฆฌ ๊ตฌ์กฐ๊ณ ์œ ํ•œ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„(Code, Data, Heap, Stack)Code, Data, Heap ๊ณต์œ , Stack์€ ๋…๋ฆฝ์ ๋…๋ฆฝ์„ฑํ”„๋กœ์„ธ์Šค ๊ฐ„ ๋…๋ฆฝ์ , ๋‹ค๋ฅธ ํ”„๋กœ์„ธ์Šค์™€ ๋ฉ”๋ชจ๋ฆฌ ๊ณต์œ  ๋ถˆ๊ฐ€๊ฐ™์€ ํ”„๋กœ์„ธ์Šค ๋‚ด์—์„œ ๋‹ค๋ฅธ ์Šค๋ ˆ๋“œ์™€ ๋ฉ”๋ชจ๋ฆฌ ๊ณต์œ ์ƒ์„ฑ ์†๋„ํ”„๋กœ์„ธ์Šค ์ƒ์„ฑ ์†๋„๊ฐ€ ๋А๋ฆฌ๊ณ  ์˜ค๋ฒ„ํ—ค๋“œ๊ฐ€ ํผ์Šค๋ ˆ๋“œ ์ƒ์„ฑ ์†๋„๊ฐ€ ๋น ๋ฅด๊ณ  ๊ฐ€๋ฒผ์›€๋ฌธ..

CS

ํด๋ž˜์Šค ์ธ์Šคํ„ด์Šค ๊ฐ์ฒด

oop๋ฅผ ์ •๋ฆฌํ•˜๊ธฐ์— ์•ž์„œ ์šฉ์–ด๋“ค์˜ ์ •๋ฆฌ๊ฐ€ ํ™•์‹คํ•˜๊ฒŒ ์ด๋ฃจ์–ด์ง€์ง€์•Š๋Š”๊ฑฐ๊ฐ™์•„ class, instance, object๋“ค์— ๋Œ€ํ•œ ๊ฐœ๋…์ •๋ฆฌ๋ฅผ ์ง„ํ–‰ํ•˜์˜€๋‹ค.ํด๋ž˜์Šค (class)๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•˜๊ธฐ ์œ„ํ•œ ํ…œํ”Œ๋ฆฟ ๋˜๋Š” ์ฒญ์‚ฌ์ง„๋ฌด์—‡์ธ๊ฐ€์˜ ๋ชจ์ž„, ์ง‘ํ•ฉ์ฒด๊ฐ์ฒด๋ฅผ ์„œ์ˆ ํ•˜๋Š” ๋ฌธ๋ฒ•// cppclass Color { ...}// ์œ„์— ์ฝ”๋“œ์™€ ๊ฐ™์ด object or instance๋ฅผ ์ƒ์„ฑํ•˜๊ธฐ์œ„ํ•œ ํ‹€์˜ ๊ฐœ๋…์„ class๋ผ๊ณ  ์ด์•ผ๊ธฐํ•œ๋‹ค. ์ธ์Šคํ„ด์Šค (instance)ํด๋ž˜์Šค๋กœ ๋ถ€ํ„ฐ ์ƒ์„ฑ๋œ ๊ตฌ์ฒด์ ์ธ ๊ฐ์ฒดclass Color { ...}Color Blue; Color Grean; // ์ฆ‰ Blue, Grean ๊ฐ™์€ ๊ฒƒ๋“ค์„ ๊ฐ์ฒด(object)๋ผ๊ณ  ์ด์•ผ๊ธฐํ•œ๋‹ค.๊ฐ์ฒด (object)ํฌ๊ด„์ ์ธ ์ผ๋ฐ˜ ๋ช…์‚ฌ๊ตฌ์ฒด์ ์ธ ์‚ฌ๋ฌผ์ด๋“  ์ถ”์ƒ์ ์ธ ๊ฐœ๋…๋…๋ฆฝ์ , ์˜์†์ ์œผ๋กœ ์กด์žฌํ•˜๋Š” ๋ฌด..

CS

TCP์™€ UDP ํ†ต์‹ ์˜ ๊ตฌ์กฐ์™€ ๋ฐ์ดํ„ฐ ์ „์†ก ๋ฐฉ์‹

Socket์†Œ์ผ“์€ ๋„คํŠธ์›Œํฌ ํ†ต์‹ ์„ ์œ„ํ•œ ์†Œํ”„ํŠธ์›จ์–ด ์ธํ„ฐํŽ˜์ด์Šค๋กœ, ๋„คํŠธ์›Œํฌ ํ†ต์‹ ์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์†ก์ˆ˜์‹ ํ•˜๋Š” ํ†ต๋กœ ์—ญํ• ์„ ํ•œ๋‹ค.์†Œ์ผ“์€ IP ์ฃผ์†Œ์™€ ํฌํŠธ ๋ฒˆํ˜ธ๋กœ ๊ตฌ์„ฑ๋˜์–ด, ์ด๋“ค์„ ํ†ตํ•ด ๋„คํŠธ์›Œํฌ์ƒ์˜ ๋‹ค๋ฅธ ์žฅ์น˜์™€ ์—ฐ๊ฒฐ์„ ์„ค์ •ํ•˜๊ณ  ๋ฐ์ดํ„ฐ๋ฅผ ์ „์†กํ•œ๋‹ค.๋Œ€๋ถ€๋ถ„์˜ ๋„คํŠธ์›Œํฌ ํ†ต์‹ ์€ ์†Œ์ผ“์„ ์‚ฌ์šฉํ•ด ์ด๋ฃจ์–ด์ง„๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, TCP์™€ UDP ํ†ต์‹ ์€ ๋ชจ๋‘ ์†Œ์ผ“์„ ํ†ตํ•ด ์ฒ˜๋ฆฌ๊ฐ€ ์ด๋ฃจ์–ด์ง„๋‹ค.Stream์ŠคํŠธ๋ฆผ์€ ๋ฐ์ดํ„ฐ๋ฅผ ์—ฐ์†์ ์œผ๋กœ ์ „๋‹ฌํ•˜๋Š” ๋ฐฉ์‹TCP์—์„œ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ packet ๋‹จ์œ„๋กœ ๋‚˜๋ˆ„์–ด ๋ณด๋‚ด์ง€๋งŒ, ์—ฐ์†์ ์ธ ๋ฐ์ดํ„ฐ ํ๋ฆ„(stream) ํ˜•ํƒœ๋กœ ์ฒ˜๋ฆฌ๋œ๋‹ค. ์ฆ‰, ์—ฌ๋Ÿฌ ํŒจํ‚ท์ด ์ˆœ์ฐจ์ ์œผ๋กœ ์ „๋‹ฌ๋˜๋ฉด์„œ, ์ˆ˜์‹  ์ธก์—์„œ ์ „์ฒด ๋ฐ์ดํ„ฐ๋ฅผ ํ•˜๋‚˜์˜ ์—ฐ์†์ ์ธ ํ๋ฆ„์œผ๋กœ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•œ๋‹ค.์ŠคํŠธ๋ฆผ์€ TCP์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์ „์†กํ•  ๋•Œ ์‚ฌ์šฉ๋˜๋ฉฐ, ์—ฐ์†์ ์ด๊ณ  ์•ˆ์ •์ ์ธ ๋ฐ์ด..

Algorithm

[๋ฐฑ์ค€] 18111๋ฒˆ - ๋งˆ์ธํฌ๋ž˜ํ”„ํŠธ (C++)

https://www.acmicpc.net/problem/18111  ํ’€์ด๊ณผ์ •ํ•ด๋‹น ๋ฌธ์ œ์—์„œ ์‹ ๊ฒฝ์จ์•ผํ–ˆ๋˜ ๋ถ€๋ถ„์€ ์ด์™€ ๊ฐ™๋‹ค.1. ‘๋•… ๊ณ ๋ฅด๊ธฐ’ ์ž‘์—…์— ๊ฑธ๋ฆฌ๋Š” ์ตœ์†Œ ์‹œ๊ฐ„๊ณผ ๊ทธ ๊ฒฝ์šฐ ๋•…์˜ ๋†’์ด๋ฅผ ์ถœ๋ ฅํ•˜์‹œ์˜ค.2. ๋•…์˜ ๋†’์ด๋Š” 256๋ธ”๋ก์„ ์ดˆ๊ณผํ•  ์ˆ˜ ์—†์œผ๋ฉฐ, ์Œ์ˆ˜๊ฐ€ ๋  ์ˆ˜ ์—†๋‹ค.3. ๋‹ต์ด ์—ฌ๋Ÿฌ ๊ฐœ ์žˆ๋‹ค๋ฉด ๊ทธ์ค‘์—์„œ ๋•…์˜ ๋†’์ด๊ฐ€ ๊ฐ€์žฅ ๋†’์€ ๊ฒƒ์„ ์ถœ๋ ฅํ•˜์‹œ์˜ค. ๋ฌธ์ œ์—์„œ๋Š” ๋•… ๊ณ ๋ฅด๊ธฐ๋ฅผ ํ•˜๋ฉด์„œ ๊ฑธ๋ฆฌ๋Š” ์ตœ์†Œ์‹œ๊ฐ„๊ณผ ๊ทธ ๋•…์˜ ๋†’์ด๋ฅผ ๊ตฌํ•ด์•ผํ•œ๋‹ค๊ณ ํ–ˆ๋‹ค.๋•…์˜ ๋†’์ด์˜ ๋ฒ”์œ„๊ฐ€ 0 ~ 256 ๊นŒ์ง€๋กœ ์ ์€ ๋ฒ”์œ„ ๋‚ด์— ์ œํ•œ์ด ๋˜์–ด์žˆ์œผ๋‹ˆ ๋ชจ๋“  ๋•… ๋†’์ด๋ฅผ ๋ฐ˜๋ณต๋ฌธ์„ ๋Œ๋ฉฐ, targetHeight๋ฅผ ๊ธฐ์ค€์˜ ๋†’์ด๋กœ ๋ชจ๋“  ๋•…์„ ๋งŒ๋“ค์–ด๋ณด๊ณ  ๋ธ”๋Ÿญ๊ฐœ์ˆ˜๋‚ด์— ๊ฐ€๋Šฅํ•œ์ง€, ์‹œ๊ฐ„์ด ๊ฐ€์žฅ ์ ์€์ง€๋ฅผ ํ™•์ธํ•˜๋ฉฐ ๊ฒฐ๊ณผ๊ฐ’์„ ๊ตฌํ•˜์˜€๋‹ค. code#include #include #i..

programming language/C++

mac m2 - opencv์™€ cmake ๋นŒ๋“œ

๋ชฉํ‘œ๋‚ด๊ฐ€ ์ž‘์„ฑํ•˜๋Š” ํ”„๋กœ์ ํŠธ ๋‚ด๋ถ€์—์„œ opencv๋ฅผ ์„ค์น˜ํ•˜๊ณ  cmake๋ฅผ ํ†ตํ•ด ๋‚ด๊ฐ€ ์ง์ ‘ ์ž‘์„ฑํ•œ main.cpp ๋‚ด๋ถ€์—์„œ opencv๋ฅผ ์‚ฌ์šฉํ•˜๋Š”๊ฒƒ์ด ๋ชฉํ‘œ์ด๋‹ค.project - opencv - build - src - main.cpp - main.hpp - CMakeLists.txt  opencv clone ์ง„ํ–‰git clone https://github.com/opencv/opencv.git  opencv ๋‚ด๋ถ€์—์„œ cmake ๋ฐ make ์ง„ํ–‰cd opencvmkdir buildcd buildcmake ..make -j4make -j4 : ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด 4๊ฐœ๋กœ ๋ณ‘๋ ฌ ๋นŒ๋“œ๊ฐ€ ๊ฐ€๋Šฅํ•˜์ง€๋งŒ ํ•„์ž์˜ ์ž‘์—…ํ™˜๊ฒฝ์—์„œ๋Š” ์‚ฌ์–‘์ด ๋ถ€์กฑํ•˜์—ฌ -j2 ํ˜น์€ ๊ทธ๋ƒฅ make๋กœ ์ง„ํ–‰ํ•˜์˜€๋‹ค. p..

Algorithm

[๋ฐฑ์ค€] 15829๋ฒˆ - Hashing (C++)

https://www.acmicpc.net/problem/15829   ๋ฌธ์ œAPC์— ์˜จ ๊ฒƒ์„ ํ™˜์˜ํ•œ๋‹ค. ๋งŒ์•ฝ ์—ฌ๋Ÿฌ๋ถ„์ด ํ•™๊ต์—์„œ ์ž๋ฃŒ๊ตฌ์กฐ๋ฅผ ์ˆ˜๊ฐ•ํ–ˆ๋‹ค๋ฉด ํ•ด์‹œ ํ•จ์ˆ˜์— ๋Œ€ํ•ด ๋ฐฐ์› ์„ ๊ฒƒ์ด๋‹ค. ํ•ด์‹œ ํ•จ์ˆ˜๋ž€ ์ž„์˜์˜ ๊ธธ์ด์˜ ์ž…๋ ฅ์„ ๋ฐ›์•„์„œ ๊ณ ์ •๋œ ๊ธธ์ด์˜ ์ถœ๋ ฅ์„ ๋‚ด๋ณด๋‚ด๋Š” ํ•จ์ˆ˜๋กœ ์ •์˜ํ•œ๋‹ค. ํ•ด์‹œ ํ•จ์ˆ˜๋Š” ๋ฌด๊ถ๋ฌด์ง„ํ•œ ์‘์šฉ ๋ถ„์•ผ๋ฅผ ๊ฐ–๋Š”๋ฐ, ๋Œ€ํ‘œ์ ์œผ๋กœ ์ž๋ฃŒ์˜ ์ €์žฅ๊ณผ ํƒ์ƒ‰์— ์“ฐ์ธ๋‹ค.์ด ๋ฌธ์ œ์—์„œ๋Š” ์—ฌ๋Ÿฌ๋ถ„์ด ์•ž์œผ๋กœ ์œ ์šฉํ•˜๊ฒŒ ์“ธ ์ˆ˜ ์žˆ๋Š” ํ•ด์‹œ ํ•จ์ˆ˜๋ฅผ ํ•˜๋‚˜ ๊ฐ€๋ฅด์ณ์ฃผ๊ณ ์ž ํ•œ๋‹ค. ๋จผ์ €, ํŽธ์˜์ƒ ์ž…๋ ฅ์œผ๋กœ ๋“ค์–ด์˜ค๋Š” ๋ฌธ์ž์—ด์—๋Š” ์˜๋ฌธ ์†Œ๋ฌธ์ž(a, b, ..., z)๋กœ๋งŒ ๊ตฌ์„ฑ๋˜์–ด์žˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•˜์ž. ์˜์–ด์—๋Š” ์ด 26๊ฐœ์˜ ์•ŒํŒŒ๋ฒณ์ด ์กด์žฌํ•˜๋ฏ€๋กœ a์—๋Š” 1, b์—๋Š” 2, c์—๋Š” 3, ..., z์—๋Š” 26์œผ๋กœ ๊ณ ์œ ํ•œ ๋ฒˆํ˜ธ๋ฅผ ๋ถ€์—ฌํ•  ์ˆ˜ ์žˆ๋‹ค. ๊ฒฐ๊ณผ์ ์œผ๋กœ ์šฐ๋ฆฌ๋Š” ํ•˜๋‚˜..

Algorithm

[๋ฐฑ์ค€] 2108๋ฒˆ - ํ†ต๊ณ„ํ•™ (C++)

https://www.acmicpc.net/problem/2108   ๋ฌธ์ œ์ˆ˜๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ๊ฒƒ์€ ํ†ต๊ณ„ํ•™์—์„œ ์ƒ๋‹นํžˆ ์ค‘์š”ํ•œ ์ผ์ด๋‹ค. ํ†ต๊ณ„ํ•™์—์„œ N๊ฐœ์˜ ์ˆ˜๋ฅผ ๋Œ€ํ‘œํ•˜๋Š” ๊ธฐ๋ณธ ํ†ต๊ณ„๊ฐ’์—๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ฒƒ๋“ค์ด ์žˆ๋‹ค. ๋‹จ, N์€ ํ™€์ˆ˜๋ผ๊ณ  ๊ฐ€์ •ํ•˜์ž.์‚ฐ์ˆ ํ‰๊ท  : N๊ฐœ์˜ ์ˆ˜๋“ค์˜ ํ•ฉ์„ N์œผ๋กœ ๋‚˜๋ˆˆ ๊ฐ’์ค‘์•™๊ฐ’ : N๊ฐœ์˜ ์ˆ˜๋“ค์„ ์ฆ๊ฐ€ํ•˜๋Š” ์ˆœ์„œ๋กœ ๋‚˜์—ดํ–ˆ์„ ๊ฒฝ์šฐ ๊ทธ ์ค‘์•™์— ์œ„์น˜ํ•˜๋Š” ๊ฐ’์ตœ๋นˆ๊ฐ’ : N๊ฐœ์˜ ์ˆ˜๋“ค ์ค‘ ๊ฐ€์žฅ ๋งŽ์ด ๋‚˜ํƒ€๋‚˜๋Š” ๊ฐ’๋ฒ”์œ„ : N๊ฐœ์˜ ์ˆ˜๋“ค ์ค‘ ์ตœ๋Œ“๊ฐ’๊ณผ ์ตœ์†Ÿ๊ฐ’์˜ ์ฐจ์ดN๊ฐœ์˜ ์ˆ˜๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ, ๋„ค ๊ฐ€์ง€ ๊ธฐ๋ณธ ํ†ต๊ณ„๊ฐ’์„ ๊ตฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค. ์ž…๋ ฅ์ฒซ์งธ ์ค„์— ์ˆ˜์˜ ๊ฐœ์ˆ˜ N(1 ≤ N ≤ 500,000)์ด ์ฃผ์–ด์ง„๋‹ค. ๋‹จ, N์€ ํ™€์ˆ˜์ด๋‹ค. ๊ทธ ๋‹ค์Œ N๊ฐœ์˜ ์ค„์—๋Š” ์ •์ˆ˜๋“ค์ด ์ฃผ์–ด์ง„๋‹ค. ์ž…๋ ฅ๋˜๋Š” ์ •์ˆ˜์˜ ์ ˆ๋Œ“๊ฐ’์€ 4,000์„ ๋„˜์ง€ ์•Š๋Š”..

moaoh
'๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๊ธ€ ๋ชฉ๋ก