ํ‹ฐ์Šคํ† ๋ฆฌ์ฑŒ๋ฆฐ์ง€

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์„ ๋„˜์ง€ ์•Š๋Š”..

CS

docker-compose์™€ cmake

๋ชฉํ‘œ ๋””๋ ‰ํ† ๋ฆฌ ๊ตฌ์กฐproject - client - Dockerfile - CMakeLists.txt - src - ... - server - Dockerfile - CMakeLists.txt - src - ... - common - Dockerfile - CMakeLists.txt - src - ... - CMakeLists.txt - Docker-compose.txt๋‚˜์˜ ํ”„๋กœ์ ํŠธ์—๋Š” ํฌ๊ฒŒ 3๊ฐœ์˜ ๋””๋ ‰ํ† ๋ฆฌ๊ฐ€ ์กด์žฌํ•œ๋‹ค. ๋‚˜์˜ ๋ชฉํ‘œ๋Š” ์ด์™€ ๊ฐ™๋‹ค.๊ตฌ์กฐ๋ฅผ ๊ฐ๊ฐ CMake๋ฅผ ํ†ตํ•ด ์„œ๋กœ๋ฅผ ์—ฐ๊ฒฐํ•˜๊ณ  docker-compose..

programming language/C++

[c++] CMake

CMake๋ž€?makefile ์˜ ์ง์ ‘์ ์ธ ์ž‘์„ฑ์—์„œ ํ•œ๋ฐœ์ž๊ตญ ๋” ๋‚˜์•„๊ฐ€ ๋ช…๋ น์–ด๋ฅผ ํ†ตํ•ด ์ž๋™์œผ๋กœ makefile์„ ๋งŒ๋“ค์–ด์ฃผ๋Š” ๋ฐฉ์‹ ์ง์ ‘์ ์ธ ์ปดํŒŒ์ผ ๋ฐฉ์‹>> g++ main.cpp -o main>> ./main  CMake ์‚ฌ์šฉ๋ฒ• Cmake ์„ค์น˜>> brew install cmake>> cmake --version Cmake ํ…Œ์ŠคํŠธ์„ค์น˜ ํ›„์— ๊ฐ„๋‹จํ•˜๊ฒŒ main.cpp ํŒŒ์ผ์„ Cmake๋ฅผ ํ†ตํ•ด ๋นŒ๋“œํ•ด๋ณด์ž. CMake๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ์œ„ํ•ด์„œ๋Š” CmakeLists.txt๋ผ๋Š” ํŒŒ์ผ์„ ์ƒ์„ฑํ•ด์ค˜์•ผํ•œ๋‹ค.CmakeLists.txt์—๋Š” ๋นŒ๋“œ๋ฅผ ์ง„ํ–‰ํ•˜๊ธฐ์œ„ํ•ด ํ•„์š”ํ•œ ์ •๋ณด๋“ค์„ ๋‹ด์•„์„œ ์–ด๋–ป๊ฒŒ ๋นŒ๋“œ๋ฅผ ์ง„ํ–‰ํ•  ๊ฒƒ์ธ์ง€ ์•Œ๋ ค์ฃผ๋Š” ์ž‘์—…์ด ํ•„์š”ํ•˜๋‹ค.( ex: ์–ด๋–ค ํŒŒ์ผ์„ ๋นŒ๋“œํ•  ๊ฒƒ์ธ์ง€.. , ์‹คํ–‰ํŒŒ์ผ์˜ ์ด๋ฆ„์€ ๋ฌด์—‡์œผ๋กœ ํ• ๊ฒƒ์ธ์ง€.. , ํ”„๋กœ์ ํŠธ์˜ ์ด๋ฆ„์€..

CS

[์ž๋ฃŒ๊ตฌ์กฐ] ๊ทธ๋ž˜ํ”„ (Graph)

๊ทธ๋ž˜ํ”„ (Graph) ๋ž€?๊ทธ๋ž˜ํ”„๋Š” ์ •์ (vertex)๊ณผ ๊ฐ„์„ (edge)๋กœ ์ด๋ฃจ์–ด์ง„ ์ž๋ฃŒ๊ตฌ์กฐํŠธ๋ฆฌ (Tree) ์™€ ๋ฌด์Šจ ์ฐจ์ด๊ฐ€ ์žˆ๋ƒ๊ณ  ์ƒ๊ฐํ•  ์ˆ˜ ์žˆ๋Š”๋ฐ,๊ทธ๋ž˜ํ”„์— ๊ฒฝ์šฐ์—๋Š” ํŠธ๋ฆฌ์™€ ๋‹ค๋ฅด๊ฒŒ ์ •์ ๋งˆ๋‹ค ๊ฐ„์„ ์ด ์—†์„ ์ˆ˜๋„ ์žˆ๊ณ  ๋ถ€๋ชจ ์ž์‹๊ฐœ๋…์ด ์กด์žฌํ•˜์ง€ ์•Š๋Š” ๋“ฑ ์ฐจ์ด์ ์ด ์กด์žฌํ•œ๋‹ค.์ง€ํ•˜์ฒ  ๋…ธ์„ ๋„ ๋“ฑ์˜ ์ตœ๋‹จ๊ฒฝ๋กœ๋ฅผ ์ฐพ๊ฑฐ๋‚˜ sns์—์„œ๋Š” ๊ณตํ†ต๋œ ์นœ๊ตฌ๋ฅผ ์ฐพ๋Š” ๋“ฑ์— ํ™œ์šฉ๋œ๋‹ค.์žฅ๋‹จ์ ์žฅ์ ๋ณต์žกํ•œ ๊ด€๊ณ„๋ฅผ ๋ชจ๋ธ๋งํ•  ์ˆ˜ ์žˆ์Œ (์†Œ์…œ ๋„คํŠธ์›Œํฌ, ๊ฒฝ๋กœ ํƒ์ƒ‰ ๋“ฑ)๋‹ค์–‘ํ•œ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ํ†ตํ•ด ์ตœ๋‹จ ๊ฒฝ๋กœ, ์—ฐ๊ฒฐ์„ฑ ๋“ฑ์„ ์ฐพ์„ ์ˆ˜ ์žˆ์Œ.๋‹จ์ ๊ตฌํ˜„๊ณผ ์—ฐ์‚ฐ์ด ๋ณต์žกํ•˜๊ณ  ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ์ด ํผ.์ˆœํ™˜์ด ๋ฐœ์ƒํ•  ๊ฒฝ์šฐ ์ฒ˜๋ฆฌ๊ฐ€ ์–ด๋ ค์šธ ์ˆ˜ ์žˆ์Œ.๊ตฌํ˜„๋ฅผ ์‚ฌ์šฉํ•œ ๊ตฌํ˜„#include #include class Graph{private: int V; std::vector > adjMatri..

moaoh
'ํ‹ฐ์Šคํ† ๋ฆฌ์ฑŒ๋ฆฐ์ง€' ํƒœ๊ทธ์˜ ๊ธ€ ๋ชฉ๋ก