728x90

๐Ÿ“ Coding Test Study 108

[Algorithm] ์„ธ๊ทธ๋จผํŠธ ํŠธ๋ฆฌ(Segment Tree)

๊ตฌ๊ฐ„ํ•ฉ, ๊ตฌ๊ฐ„์— ๋”ฐ๋ฅธ ๊ฒฝ์šฐ์˜ ์ˆ˜๋ฅผ ๊ตฌํ•˜๋Š” ๋ฌธ์ œ์—์„œ ๋งŽ์ด ์“ฐ์ด๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์ธ ์„ธ๊ทธ๋จผํŠธ ํŠธ๋ฆฌ์— ๋Œ€ํ•ด ์•Œ์•„๋ณด์ž. * ์„ธ๊ทธ๋จผํŠธ ํŠธ๋ฆฌ์˜ ๋“ฑ์žฅ ๋ฐฐ๊ฒฝ ๋ฐ ํ•„์š”์„ฑS[0] = A[0];for (int i=1; i ๊ตฌ๊ฐ„ํ•ฉ์„ ๋‹จ์ˆœ for ๋ฌธ์„ ์ด์šฉํ•ด์„œ ๊ตฌํ•˜๋Š” ์ฝ”๋“œ์ด๋‹ค.0~n ๊นŒ์ง€์˜ ํ•ฉ์„ ๊ตฌํ•  ๋•Œ O(n) ์˜ ์‹œ๊ฐ„๋ณต์žก๋„๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค.0~n ๋ฟ ์•„๋‹ˆ๋ผ 2~5, 100~200 ๋“ฑ m ๊ฐœ์˜ ๊ตฌ๊ฐ„ํ•ฉ์„ ๊ตฌํ•œ๋‹ค๋ฉด O(nm) ์˜ ์‹œ๊ฐ„๋ณต์žก๋„๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค. ์—ฌ๊ธฐ์„œ ๋งŒ์•ฝ A[x] ์˜ ๊ฐ’์„ ๋ณ€๊ฒฝํ•ด์•ผ ํ•˜๋ฉด ์–ด๋–ป๊ฒŒ ๋ ๊นŒ.A[x] ๊ฐ’์ด ํฌํ•จ๋œ ๋ชจ๋“  S ๋ฐฐ์—ด ๊ฐ’์„ ๋ณ€๊ฒฝํ•ด์„œ ๋‹ค์‹œ ๊ตฌ๊ฐ„ํ•ฉ์„ ๊ตฌํ•ด์ฃผ์–ด์•ผ ํ•œ๋‹ค.0๋ฒˆ ๊ฐ’์ด๋ผ๊ณ  ํ•˜๋ฉด ๋˜ O(nm) ์˜ ์‹œ๊ฐ„๋ณต์žก๋„๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค. ํฐ ์ˆ˜์˜ n, m ์ด ์ฃผ์–ด์ง€๋ฉด ์‹œ๊ฐ„์ดˆ๊ณผ๋กœ ํ’€ ์ˆ˜ ์—†๋‹ค. ๋‹ค๋ฅธ ๋ฐฉ๋ฒ•์„ ์ฐพ์•„์•ผ ํ•œ๋‹ค.* ์„ธ๊ทธ๋จผํŠธ ํŠธ..

[BOJ][C++] 1463๋ฒˆ 1๋กœ ๋งŒ๋“ค๊ธฐ(feat. DP)

[๋ฌธ์ œ]https://www.acmicpc.net/problem/1463์ •์ˆ˜ x ๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ, x ๋ฅผ 1๋กœ ๋งŒ๋“œ๋Š” ์ตœ์†Œ ์—ฐ์‚ฐ์˜ ์ˆ˜๋ฅผ ์ฐพ๋Š” ๋ฌธ์ œ์ด๋‹ค. x ๋ฅผ 1๋กœ ๋งŒ๋“œ๋Š” ์—ฐ์‚ฐ์€ 3๊ฐ€์ง€๊ฐ€ ์žˆ๋‹ค. 1) x ๊ฐ€ 3 ์œผ๋กœ ๋‚˜๋ˆ„์–ด ๋–จ์–ด์ง€๋ฉด x ๋ฅผ 3 ์œผ๋กœ ๋‚˜๋ˆˆ๋‹ค.2) x ๊ฐ€ 2 ๋กœ ๋‚˜๋ˆ„์–ด ๋–จ์–ด์ง€๋ฉด x ๋ฅผ 2 ๋กœ ๋‚˜๋ˆˆ๋‹ค.3) 1)2) ๊ฐ€ ์•„๋‹ˆ๋ฉด x ์—์„œ 1์„ ๋บ€๋‹ค. ์ •์ˆ˜ x ๊ฐ’์˜ ๋ฒ”์œ„๋Š” 1 ≤ x ≤ 10^6 ์ด๋‹ค.์ œํ•œ์‹œ๊ฐ„์€ 0.15์ดˆ ์ด๋‹ค. [ํ’€์ด]์ •์ˆ˜ x ์˜ ์ตœ๋Œ€๊ฐ’์ด 10^6 ์ด๊ธฐ ๋•Œ๋ฌธ์— O(n^2) ๋งŒ ๋˜์–ด๋„ ๋ฌธ์ œ์˜ ์ œํ•œ์‹œ๊ฐ„์„ ๋„˜๊ธด๋‹ค. ์ฆ‰, ์™„์ „ํƒ์ƒ‰์œผ๋กœ ํ’€๋ฉด ์•ˆ๋œ๋‹ค. ์ ํ™”์‹์„ ์ฐพ์•„์•ผ ํ•œ๋‹ค.'D[x] = x๋ฅผ 1๋กœ ๋งŒ๋“œ๋Š” ์ตœ์†Œ ์—ฐ์‚ฐ์˜ ์ˆ˜' ๋ผ๊ณ  ๋‘๊ณ  D[1] ๋ถ€ํ„ฐ ๊ตฌํ•ด๋ณด์ž. D[1] = 1D[2] = D[2/..

DP(Dynamic Programming) ๊ฐœ๋…, ํ’€์ด๋ฒ•

* DP(Dynamic Programming)๋ž€ ?: ํฐ ๋ฌธ์ œ๋ฅผ ์ž‘์€๋ฌธ์ œ๋กœ ๋‚˜๋ˆ„๊ณ  ์ž‘์€๋ฌธ์ œ๋กœ ํฐ๋ฌธ์ œ๋ฅผ ํ‘ธ๋Š” ๋ฐฉ๋ฒ•. ์ž‘์€๋ฌธ์ œ๊ฐ€ ์ค‘๋ณต๋œ๋‹ค.(vs ๋ถ„ํ• ์ •๋ณต: ๋ถ„ํ• ์ •๋ณต๊ณผ ๋น„์Šทํ•œ๋ฐ ๋ถ„ํ• ์ •๋ณต์€ ์ž‘์€๋ฌธ์ œ๊ฐ€ ์ค‘๋ณต๋˜์ง€ ์•Š๋Š”๋‹ค.)  * DP ์˜ ํŠน์ง•1) Overlapping Subproblem: ๋ถ€๋ถ„๋ฌธ์ œ(์ž‘์€๋ฌธ์ œ)๊ฐ€ ๊ฒน์นœ๋‹ค.2) Optimal Substructure: ์ตœ์  ๋ถ€๋ถ„ ๊ตฌ์กฐ. ๋ฌธ์ œ์˜ ์ •๋‹ต์„ ์ž‘์€ ๋ฌธ์ œ์˜ ์ •๋‹ต์—์„œ ๊ตฌํ•  ์ˆ˜ ์žˆ๋‹ค. ์ •๋‹ต์˜ ์ž‘์€ ๋ฌธ์ œ์˜ ์ •๋‹ต์€ ํ•ญ์ƒ ๊ฐ™๋‹ค.  * DP ์•Œ๊ณ ๋ฆฌ์ฆ˜์œผ๋กœ ํ’€ ์ˆ˜ ์žˆ๋Š” ๋Œ€ํ‘œ์ ์ธ ์˜ˆ: ํ”ผ๋ณด๋‚˜์น˜ ์ˆ˜ !0 1 1 2 3 5 8 13 21 34 55 89 ...F0 = 0F1 = 1...Fn = Fn-1 + Fn-2(n ≥ 2)Fn ์ด๋ผ๋Š” ํฐ๋ฌธ์ œ ๊ฐ’์„ Fn-1 ๊ณผ Fn-2 ์˜ ์ž‘์€ ํ•ฉ์œผ๋กœ..

[BOJ][C++] 1269 ๋Œ€์นญ ์ฐจ์ง‘ํ•ฉ(feat. ์ด๋ถ„ํƒ์ƒ‰)

๋ฌธ์ œ & ์„ค๋ช…https://www.acmicpc.net/problem/1269  ํ’€์ดA์˜ ์›์†Œ ํ•˜๋‚˜ํ•˜๋‚˜์˜ ๊ฐ’์„ B์—์„œ ์ฐพ์„ ๋•Œ ์ด๋ถ„ํƒ์ƒ‰์„ ์ง„ํ–‰ํ•œ๋‹ค.  ์ •๋‹ต ์ฝ”๋“œ#include #include #include using namespace std;int main() { int aNum, bNum, input, sum = 0; int l, h, mid; // ์ด๋ถ„ํƒ์ƒ‰์„ ์œ„ํ•œ ๋ณ€์ˆ˜ vector As, Bs; // Input cin >> aNum >> bNum; for (int i = 0; i > input; As.push_back(input); } for (int i = 0; i > input; Bs.push_back(input); } ..

[C++][BOJ] 2343 ๊ธฐํƒ€ ๋ ˆ์Šจ (feat. ์ด๋ถ„ํƒ์ƒ‰)

[๋ฌธ์ œ]https://www.acmicpc.net/problem/2343 N ๊ฐœ์˜ ๊ฐ•์˜๊ฐ€ ์ฃผ์–ด์งˆ ๋•Œ ๊ฐ•์˜๋“ค์„ ๋ช‡๊ฐœ์”ฉ ์—ฎ์–ด์„œ ๋ธ”๋ฃจ๋ ˆ์ด๋กœ ๋งŒ๋“ค์–ด์„œ ํŒ๋งคํ•˜๋ ค๊ณ  ํ•œ๋‹ค.๊ฐ•์˜๋“ค์„ ์—ฎ์„ ๋•Œ ๊ฐ•์˜์˜ ์ˆœ์„œ๊ฐ€ ๋ฐ”๋€Œ๋ฉด์•ˆ๋˜๊ณ , ๋ธ”๋ฃจ๋ ˆ์ด์˜ ํฌ๊ธฐ๋Š” ๋ชจ๋‘ ๊ฐ™์•„์•ผ ํ•œ๋‹ค.์ฆ‰, ๊ฐ•์˜๋ฅผ ์ชผ๊ฐค ์ˆ˜ ์žˆ๋Š” ์ตœ์†Œํ•ฉ์„ ์ฐพ์ž. *๋ฌธ์ œ์กฐ๊ฑด๊ฐ•์˜์˜ ์ˆ˜  N (1 ≤ N ≤ 100,000)๊ณผ M (1 ≤ M ≤ N)๊ฐ ๊ฐ•์˜์˜ ๊ธธ์ด๋Š” 10,000๋ถ„์„ ๋„˜์ง€ ์•Š๋Š”๋‹ค. [์˜ˆ์‹œ]9 31 2 3 4 5 6 7 8 917 ๊ฐ•์˜๋Š” ์ด 9๊ฐœ์ด๊ณ , ๋ธ”๋ฃจ๋ ˆ์ด๋Š” ์ด 3๊ฐœ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค. 1๋ฒˆ ๋ธ”๋ฃจ๋ ˆ์ด์— 1, 2, 3, 4, 52๋ฒˆ ๋ธ”๋ฃจ๋ ˆ์ด์— 6, 73๋ฒˆ ๋ธ”๋ฃจ๋ ˆ์ด์— 8, 9 ์„ ๋„ฃ์œผ๋ฉด ๊ฐ ๋ธ”๋ฃจ๋ ˆ์ด์˜ ํฌ๊ธฐ๋Š” 15, 13, 17์ด ๋œ๋‹ค. ๋ธ”๋ฃจ๋ ˆ์ด์˜ ํฌ๊ธฐ๋Š” ๋ชจ๋‘ ๊ฐ™์•„์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋ธ”..

[C++][BOJ] 2792๋ฒˆ ๋ณด์„ ์ƒ์ž(feat. ์ด๋ถ„ ํƒ์ƒ‰)

https://www.acmicpc.net/problem/2792 ์•„์ด๋“ค์˜ ์ˆ˜์™€ ๋ณด์„ ์ƒ‰์ƒ์˜ ์ˆ˜, ๋ณด์„์˜ ๊ฐœ์ˆ˜๊ฐ€ ์ฃผ์–ด์ง„๋‹ค.๋ชจ๋“  ๋ณด์„์„ ๋‚˜๋ˆ„์–ด์ค„ ๋•Œ ์ตœ๋Œ€ํ•œ ์ฐจ์ด๊ฐ€ ๋‚˜์ง€ ์•Š๊ฒŒ ๋‚˜๋ˆ„์–ด์ฃผ๋Š” ๋ฐฉ๋ฒ•์„ ๊ตฌํ•˜๋Š” ๋ฌธ์ œ์ด๋‹ค. ํ•œ ์•„์ด๊ฐ€ ๊ฐ–๋Š” ๋ณด์„์˜ ์ˆ˜๋ฅผ ์งˆํˆฌ์‹ฌ์ด๋ผ ํ‘œํ˜„ํ–ˆ๋‹ค.์ด ๋•Œ ํ•œ ์•„์ด๋Š” ๊ฐ™์€ ๋ณด์„์˜ ์ƒ‰์ƒ๋งŒ ๊ฐ€์ ธ์•ผ ํ•œ๋‹ค. ๋˜ํ•œ, ๋ณด์„์„ ๋ชป๋ฐ›๋Š” ์•„์ด๋Š” ์žˆ์–ด๋„ ๋‚จ๋Š” ๋ณด์„์€ ์—†์–ด์•ผ ํ•œ๋‹ค. [์ž…๋ ฅ]์ฒซ์งธ ์ค„์— ์•„์ด๋“ค์˜ ์ˆ˜ N๊ณผ ์ƒ‰์ƒ์˜ ์ˆ˜ M์ด ์ฃผ์–ด์ง„๋‹ค. (1 ≤ N ≤ 109, 1 ≤ M ≤ 300,000, M ≤ N)๋‹ค์Œ M๊ฐœ ์ค„์—๋Š” ๊ตฌ๊ฐ„ [1, 10^9]์— ํฌํ•จ๋˜๋Š” ์–‘์˜ ์ •์ˆ˜๊ฐ€ ํ•˜๋‚˜์”ฉ ์ฃผ์–ด์ง„๋‹ค. K๋ฒˆ์งธ ์ค„์— ์ฃผ์–ด์ง€๋Š” ์ˆซ์ž๋Š” K๋ฒˆ ์ƒ‰์ƒ ๋ณด์„์˜ ๊ฐœ์ˆ˜์ด๋‹ค.[์ถœ๋ ฅ]์ฒซ์งธ ์ค„์— ์งˆํˆฌ์‹ฌ์˜ ์ตœ์†Ÿ๊ฐ’์„ ์ถœ๋ ฅํ•œ๋‹ค.  [ํ’€์ด]ํ•˜๋‚˜์˜ ๋ณด์„์˜ ์ˆ˜๊ฐ€ ..

[C++][BOJ] 9935 ๋ฌธ์ž์—ด ํญ๋ฐœ :: ๋ฌธ์ž์—ด ๋น„๊ต(stack, erase)

ํญ๋ฐœ, ์ง์ง“๊ธฐ ๋ฌธ์ œ๋Š” stack์„ ๋– ์˜ฌ๋ฆฌ์ž. [๋ฌธ์ œ]https://www.acmicpc.net/problem/9935 ๋ฌธ์ž์—ด์— ํญ๋ฐœ ๋ฌธ์ž์—ด์ด ์žˆ๋‹ค.ํญ๋ฐœ ๋ฌธ์ž์—ด์ด ํญ๋ฐœํ•˜๋ฉด ๊ทธ ๋ฌธ์ž๋Š” ๋ฌธ์ž์—ด์—์„œ ์‚ฌ๋ผ์ง€๋ฉฐ, ๋‚จ์€ ๋ฌธ์ž์—ด์€ ํ•ฉ์ณ์ง€๊ฒŒ ๋œ๋‹ค.๋ชจ๋“  ํญ๋ฐœ์ด ๋๋‚œ ํ›„์— ์–ด๋–ค ๋ฌธ์ž์—ด์ด ๋‚จ๋Š”์ง€ ๊ตฌํ•ด๋ณด์ž. ๋‚จ์•„์žˆ๋Š” ๋ฌธ์ž๊ฐ€ ์—†๋Š” ๊ฒฝ์šฐ "FRULA"๋ฅผ ์ถœ๋ ฅํ•˜์ž. ๋ฌธ์ž์—ด์˜ ๊ธธ์ด๋Š” 1๋ณด๋‹ค ํฌ๊ฑฐ๋‚˜ ๊ฐ™๊ณ , 1,000,000๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™๋‹ค.ํญ๋ฐœ ๋ฌธ์ž์—ด์˜ ๊ธธ์ด๋Š” 1๋ณด๋‹ค ํฌ๊ฑฐ๋‚˜ ๊ฐ™๊ณ , 36๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™๋‹ค.๋‘ ๋ฌธ์ž์—ด์€ ๋ชจ๋‘ ์•ŒํŒŒ๋ฒณ ์†Œ๋ฌธ์ž์™€ ๋Œ€๋ฌธ์ž, ์ˆซ์ž 0, 1, ..., 9๋กœ๋งŒ ์ด๋ฃจ์–ด์ ธ ์žˆ๋‹ค. [ํ’€์ด]๋ฌธ์ž์—ด์˜ ๊ธธ์ด๊ฐ€ ๋งค์šฐ ๊ธฐ๋ฏ€๋กœ, ์™„์ „ํƒ์ƒ‰์œผ๋กœ๋Š” ํ’€ ์ˆ˜ ์—†๋‹ค.๋ฌธ์ž์—ด ๋น„๊ต๋ฅผ ์œ„ํ•ด stack ์ž๋ฃŒ๊ตฌ์กฐ๋‚˜ erase ํ•จ์ˆ˜๋ฅผ ์ด์šฉํ•˜์—ฌ for๋ฌธ ํ•˜๋‚˜..

[C++][BOJ] 1931 ํšŒ์˜์‹ค ๋ฐฐ์ • :: ๋ผ์ธ ์Šค์œ„ํ•‘

๊ตฌ๊ฐ„์ด ๋‚˜์˜ค๋ฉด ์ •๋ ฌ!์„ ๋– ์˜ฌ๋ฆฌ์ž. ์–ด๋Š์ •๋„์˜ ๋ณต์žก๋„๋ฅผ ๊ฐ์†Œ์‹œํ‚ฌ ์ˆ˜ ์žˆ๋‹ค. [๋ฌธ์ œ]https://www.acmicpc.net/problem/1931 ๊ฐ ํšŒ์˜์— ๋Œ€ํ•ด ์‹œ์ž‘์‹œ๊ฐ„๊ณผ ๋๋‚˜๋Š” ์‹œ๊ฐ„์ด ์ฃผ์–ด์ ธ ์žˆ์„ ๋•Œ,๊ฐ ํšŒ์˜๊ฐ€ ๊ฒน์น˜์ง€ ์•Š๊ฒŒ ํ•˜๋ฉด์„œ ํšŒ์˜์‹ค์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ํšŒ์˜์˜ ์ตœ๋Œ€ ๊ฐœ์ˆ˜๋ฅผ ์ฐพ์ž. ํšŒ์˜์˜ ์ˆ˜ N(1 ≤ N ≤ 100,000)์‹œ์ž‘ ์‹œ๊ฐ„๊ณผ ๋๋‚˜๋Š” ์‹œ๊ฐ„์€ 2^31-1๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™์€ ์ž์—ฐ์ˆ˜ ๋˜๋Š” 0 [ํ•ด๊ฒฐ๋ฐฉ๋ฒ•]ํšŒ์˜์˜ ์ˆ˜๊ฐ€ ์ตœ๋Œ€ 100,000 ๊ฐœ ์ด๋ฏ€๋กœ ์™„์ „ํƒ์ƒ‰์œผ๋กœ๋Š” ํ’€ ์ˆ˜ ์—†๋‹ค. Greedy ๋กœ ํ’€์–ด์•ผ ํ•œ๋‹ค.ํŠนํžˆ, ๊ตฌ๊ฐ„์ด ์ฃผ์–ด์ง€๋ฉด ์ •๋ ฌ์„ ์ƒ๊ฐํ•˜์ž. ๋ผ์ธ์Šค์œ„ํ•‘ ๋ฌธ์ œ๋ผ ๋ถ€๋ฅธ๋‹ค. 1) ์‹œ์ž‘ ์‹œ๊ฐ„์„ ๊ธฐ์ค€์œผ๋กœ ์ •๋ ฌ2) ๋๋‚˜๋Š” ์‹œ๊ฐ„์„ ๊ธฐ์ค€์œผ๋กœ ์ •๋ ฌ3) ํšŒ์˜ ์‹œ๊ฐ„์„ ๊ธฐ์ค€์œผ๋กœ ์ •๋ ฌ ์œ„ 3๊ฐ€์ง€ ์ฒ˜๋Ÿผ ๋ชจ๋“  ํ’€์ด๋ฐฉ๋ฒ•์„ ์ƒ๊ฐํ•˜..

[C++][BOJ] 2109 ์ˆœํšŒ๊ฐ•์—ฐ :: ๊ทธ๋ฆฌ๋””(Greedy)

[๋ฌธ์ œ]https://www.acmicpc.net/problem/2109 d(1 ≤ d ≤ 10,000)์ผ ์•ˆ์— ์™€์„œ ๊ฐ•์—ฐ์„ ํ•ด ์ฃผ๋ฉด p(1 ≤ p ≤ 10,000)๋งŒํผ์˜ ๊ฐ•์—ฐ๋ฃŒ๋ฅผ ์ง€๋ถˆํ•œ๋‹ค.์ฒซ์งธ ์ค„์— ์ •์ˆ˜ n์ด ์ฃผ์–ด์ง„๋‹ค. ๋‹ค์Œ n๊ฐœ์˜ ์ค„์—๋Š” ๊ฐ ๋Œ€ํ•™์—์„œ ์ œ์‹œํ•œ p๊ฐ’๊ณผ d๊ฐ’์ด ์ฃผ์–ด์ง„๋‹ค.๊ฐ€์žฅ ๋งŽ์€ ๋ˆ์„ ๋ฒŒ ์ˆ˜ ์žˆ๋Š” ์ˆœํšŒ๊ฐ•์—ฐ์„ ์ฐพ๊ณ  ๊ทธ ๋ˆ์„ ์ถœ๋ ฅํ•˜๋ผ.  [ํ’€์ด]d ์ผ ์•ˆ์— ์™€์„œ ๊ฐ•์—ฐ์ด๋ผ๋Š” ์กฐ๊ฑด์„ d ์ผ์— ๊ฐ•์—ฐํ•˜๋Š” ๊ฑธ๋กœ ์ž˜๋ชป ์ดํ•ดํ•˜์—ฌ map ์œผ๋กœ ํ’€๋‹ค๊ฐ€ ํ‹€๋ ธ๋‹ค.๊ฒŒ์‹œํŒ์„ ์ฐธ๊ณ ํ•ด๋ณด๋‹ˆ d ์ผ ์•ˆ์— ์™€์„œ ๋ผ๋Š” ์กฐ๊ฑด์ด ์žˆ๊ธฐ์— d ์ผ ์•ˆ์ด๋ฉด ์–ธ์ œ๋“  ๊ฐ•์—ฐํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ์„ ์ƒ๊ฐํ•ด์•ผ ํ•œ๋‹ค. n๊ฐœ์˜ ๋Œ€ํ•™์˜ ์ „๋ถ€๋ฅผ ๋น„๊ตํ•˜๊ธฐ์—๋Š” ์‹œ๊ฐ„์ œํ•œ์ด ๋˜๋ฏ€๋กœ sort, priority queue ๋ฅผ ์ด์šฉํ•œ Greedy  ๋กœ ์ ‘๊ทผํ•ด์•ผ ํ•œ๋‹ค.๊ธฐํ•œ..

[10์ฃผ ์™„์„ฑ C++ ์ฝ”๋”ฉํ…Œ์ŠคํŠธ] ๊ธฐ๋ณธ๊ฐœ๋… :: ๋น„ํŠธ๋งˆ์Šคํฌ

1. ์ด์ง„์ˆ˜. Boolean ๋ฐฐ์—ด/๋ฒกํ„ฐ.128 64 32 16 8 4 2 1  1    0   1   1  0 0 0 0(176)0001001000110100010101100111100012345678  2. ๋น„ํŠธ ์—ฐ์‚ฐ์ž&๋น„ํŠธ๋‹จ์œ„๋กœ AND ์—ฐ์‚ฐ|๋น„ํŠธ๋‹จ์œ„๋กœ OR ์—ฐ์‚ฐ^๋น„ํŠธ๋‹จ์œ„๋กœ XOR ์—ฐ์‚ฐ(๊ฐ™์œผ๋ฉด 0, ๋‹ค๋ฅด๋ฉด 1)~ํ”ผ์—ฐ์‚ฐ์ž์˜ ๋ชจ๋“  ๋น„ํŠธ ๋ฐ˜์ „ํ”ผ์—ฐ์‚ฐ์ž์˜ ๋น„ํŠธ ์—ด์„ ์™ผ์ชฝ์œผ๋กœ ์ด๋™>>ํ”ผ์—ฐ์‚ฐ์ž์˜ ๋น„ํŠธ ์—ด์„ ์˜ค๋ฅธ์ชฝ์œผ๋กœ ์ด๋™ * 10์ง„์ˆ˜ -> 2์ง„์ˆ˜ ๋ณ€ํ™˜ ์‚ฌ์ดํŠธ Decimal to Binary ConverterDivide by the base 2 to get the digits from the remainders: Divisionby 2 Quotient Remainder(Digit) Bit #www.rapidtable..

728x90