[c++] BOJ 1062 :: ๊ฐ€๋ฅด์นจ
Algorithm ๋ฌธ์ œ/BOJ 2021. 8. 10. 21:57

๋ฌธ์ œ ๊ฐ€๋ฅด์นจ ๋ฌธ์ œ ๋ฐ”๋กœ๊ฐ€๊ธฐ ๋‚จ๊ทน์— ์‚ฌ๋Š” ๊น€์ง€๋ฏผ ์„ ์ƒ๋‹˜์€ ํ•™์ƒ๋“ค์ด ๋˜๋„๋ก์ด๋ฉด ๋งŽ์€ ๋‹จ์–ด๋ฅผ ์ฝ์„ ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋ ค๊ณ  ํ•œ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ง€๊ตฌ์˜จ๋‚œํ™”๋กœ ์ธํ•ด ์–ผ์Œ์ด ๋…น์•„์„œ ๊ณง ํ•™๊ต๊ฐ€ ๋ฌด๋„ˆ์ง€๊ธฐ ๋•Œ๋ฌธ์—, ๊น€์ง€๋ฏผ์€ K๊ฐœ์˜ ๊ธ€์ž๋ฅผ ๊ฐ€๋ฅด์น  ์‹œ๊ฐ„ ๋ฐ–์— ์—†๋‹ค. ๊น€์ง€๋ฏผ์ด ๊ฐ€๋ฅด์น˜๊ณ  ๋‚œ ํ›„์—๋Š”, ํ•™์ƒ๋“ค์€ ๊ทธ K๊ฐœ์˜ ๊ธ€์ž๋กœ๋งŒ ์ด๋ฃจ์–ด์ง„ ๋‹จ์–ด๋งŒ์„ ์ฝ์„ ์ˆ˜ ์žˆ๋‹ค. ๊น€์ง€๋ฏผ์€ ์–ด๋–ค K๊ฐœ์˜ ๊ธ€์ž๋ฅผ ๊ฐ€๋ฅด์ณ์•ผ ํ•™์ƒ๋“ค์ด ์ฝ์„ ์ˆ˜ ์žˆ๋Š” ๋‹จ์–ด์˜ ๊ฐœ์ˆ˜๊ฐ€ ์ตœ๋Œ€๊ฐ€ ๋˜๋Š”์ง€ ๊ณ ๋ฏผ์— ๋น ์กŒ๋‹ค. ๋‚จ๊ทน์–ธ์–ด์˜ ๋ชจ๋“  ๋‹จ์–ด๋Š” "anta"๋กœ ์‹œ์ž‘๋˜๊ณ , "tica"๋กœ ๋๋‚œ๋‹ค. ๋‚จ๊ทน์–ธ์–ด์— ๋‹จ์–ด๋Š” N๊ฐœ ๋ฐ–์— ์—†๋‹ค๊ณ  ๊ฐ€์ •ํ•œ๋‹ค. ํ•™์ƒ๋“ค์ด ์ฝ์„ ์ˆ˜ ์žˆ๋Š” ๋‹จ์–ด์˜ ์ตœ๋Œ“๊ฐ’์„ ๊ตฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค. ํ’€์ด brute force๋กœ ์ฐพ๊ธฐ (N์ด ์ž‘์Œ) ์กฐ๊ฑด๋“ค์„ ์ด์šฉํ•˜์—ฌ ์ตœ๋Œ€ํ•œ ์‹œ๊ฐ„๋ณต์žก๋„ ์ค„์ด๊ธฐ ..

[c++] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค :: ํƒ€๊ฒŸ๋„˜๋ฒ„ (brute force, ๋ฌธ์ œ ํ’€์ด, ์ฝ”๋“œ)
Algorithm ๋ฌธ์ œ/ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค 2020. 9. 19. 23:46

ํƒ€๊ฒŸ ๋„˜๋ฒ„ ๋ฌธ์ œ https://programmers.co.kr/learn/courses/30/lessons/43165 ๋ฌธ์ œ ์„ค๋ช… n๊ฐœ์˜ ์Œ์ด ์•„๋‹Œ ์ •์ˆ˜๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ์ˆ˜๋ฅผ ์ ์ ˆํžˆ ๋”ํ•˜๊ฑฐ๋‚˜ ๋นผ์„œ ํƒ€๊ฒŸ ๋„˜๋ฒ„๋ฅผ ๋งŒ๋“ค๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด [1, 1, 1, 1, 1]๋กœ ์ˆซ์ž 3์„ ๋งŒ๋“ค๋ ค๋ฉด ๋‹ค์Œ ๋‹ค์„ฏ ๋ฐฉ๋ฒ•์„ ์“ธ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. -1+1+1+1+1 = 3 +1-1+1+1+1 = 3 +1+1-1+1+1 = 3 +1+1+1-1+1 = 3 +1+1+1+1-1 = 3 ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์ˆซ์ž๊ฐ€ ๋‹ด๊ธด ๋ฐฐ์—ด numbers, ํƒ€๊ฒŸ ๋„˜๋ฒ„ target์ด ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ฃผ์–ด์งˆ ๋•Œ ์ˆซ์ž๋ฅผ ์ ์ ˆํžˆ ๋”ํ•˜๊ณ  ๋นผ์„œ ํƒ€๊ฒŸ ๋„˜๋ฒ„๋ฅผ ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ•์˜ ์ˆ˜๋ฅผ return ํ•˜๋„๋ก solution ํ•จ์ˆ˜๋ฅผ ์ž‘์„ฑํ•ด์ฃผ์„ธ์š”. ์ œํ•œ์‚ฌํ•ญ ์ฃผ์–ด์ง€๋Š” ์ˆซ์ž์˜ ๊ฐœ์ˆ˜๋Š” 2๊ฐœ ์ด์ƒ ..

[c++] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค :: ๋‹ค์Œ ํฐ ์ˆซ์ž (๋ฌธ์ œ ํ’€์ด, ์ฝ”๋“œ)
Algorithm ๋ฌธ์ œ/ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค 2020. 8. 7. 23:13

๋‹ค์Œ ํฐ ์ˆซ์ž https://programmers.co.kr/learn/courses/30/lessons/12911 ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต - ๋‹ค์Œ ํฐ ์ˆซ์ž ์ž์—ฐ์ˆ˜ n์ด ์ฃผ์–ด์กŒ์„ ๋•Œ, n์˜ ๋‹ค์Œ ํฐ ์ˆซ์ž๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ •์˜ ํ•ฉ๋‹ˆ๋‹ค. ์กฐ๊ฑด 1. n์˜ ๋‹ค์Œ ํฐ ์ˆซ์ž๋Š” n๋ณด๋‹ค ํฐ ์ž์—ฐ์ˆ˜ ์ž…๋‹ˆ๋‹ค. ์กฐ๊ฑด 2. n์˜ ๋‹ค์Œ ํฐ ์ˆซ์ž์™€ n์€ 2์ง„์ˆ˜๋กœ ๋ณ€ํ™˜ํ–ˆ์„ ๋•Œ 1์˜ ๊ฐฏ์ˆ˜๊ฐ€ ๊ฐ™์Šต๋‹ˆ programmers.co.kr ๋ฌธ์ œ ๋ฌธ์ œ๋ฅผ ๊ณ„์† ์—†์• ๊ธธ๋ž˜ ๋ณต์‚ฌํ•ด๋‘”๋‹ค. ๋ฌธ์ œ ์„ค๋ช… ์ž์—ฐ์ˆ˜ n์ด ์ฃผ์–ด์กŒ์„ ๋•Œ, n์˜ ๋‹ค์Œ ํฐ ์ˆซ์ž๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ •์˜ ํ•ฉ๋‹ˆ๋‹ค. ์กฐ๊ฑด 1. n์˜ ๋‹ค์Œ ํฐ ์ˆซ์ž๋Š” n๋ณด๋‹ค ํฐ ์ž์—ฐ์ˆ˜ ์ž…๋‹ˆ๋‹ค. ์กฐ๊ฑด 2. n์˜ ๋‹ค์Œ ํฐ ์ˆซ์ž์™€ n์€ 2์ง„์ˆ˜๋กœ ๋ณ€ํ™˜ํ–ˆ์„ ๋•Œ 1์˜ ๊ฐฏ์ˆ˜๊ฐ€ ๊ฐ™์Šต๋‹ˆ๋‹ค. ์กฐ๊ฑด 3. n์˜ ๋‹ค์Œ ํฐ ์ˆซ์ž๋Š” ์กฐ๊ฑด 1, 2๋ฅผ ๋งŒ..

[c++] ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๊ฐœ๋…๊ณต๋ถ€ :: ์žฌ๊ท€ํ˜ธ์ถœ (์™„์ „ํƒ์ƒ‰)
์ปดํ“จํ„ฐ๊ณผํ•™ (CS)/Algorithm 2020. 7. 31. 09:51

์žฌ๊ท€ํ˜ธ์ถœ ์žฌ๊ท€ํ•จ์ˆ˜๋ž€ ํ•จ์ˆ˜ ๋‚ด์—์„œ ์ž๊ธฐ ์ž์‹ ์„ ๋‹ค์‹œ ํ˜ธ์ถœํ•˜๋Š” ํ•จ์ˆ˜์ด๋‹ค. ํ”„๋กœ๊ทธ๋ž˜๋ฐํ•  ๋•Œ ๋ฐ˜๋ณต๋˜๋Š” ์ž‘์—…๋“ค์ด ๋Œ€ํ•ด์„œ๋Š” ๋ฐ˜๋ณต๋ฌธ์„ ์‚ฌ์šฉํ•˜๊ฑฐ๋‚˜ ์žฌ๊ท€ํ•จ์ˆ˜๋ฅผ ์ด์šฉํ•ด์„œ ํ‘œํ˜„ํ•œ๋‹ค. ๊ธฐ์ € ์‚ฌ๋ก€๋ž€ ๋” ์ด์ƒ ์ชผ๊ฐœ์ง€์ง€ ์•Š๋Š” ๊ฐ€์žฅ ์ž‘์€ ์ž‘์—…์œผ๋กœ, ์ด์— ๋„๋‹ฌํ–ˆ์„ ๋•Œ๋Š” ์žฌ๊ท€ํ˜ธ์ถœ์„ ๋ฉˆ์ถ”๊ณ  ๋‹ต์„ ๊ณง์žฅ ๋ฐ˜ํ™˜ํ•ด์•ผํ•œ๋‹ค. ๊ธฐ์ € ์‚ฌ๋ก€๋ฅผ ์ •ํ•  ๋•Œ๋Š” ๋ชจ๋“  ์‚ฌ๋ก€์˜ ๋‹ต์ด ๊ธฐ์ € ์‚ฌ๋ก€๋ฅผ ์ด์šฉํ•˜์—ฌ ๊ณ„์‚ฐ๋  ์ˆ˜ ์žˆ๋„๋ก ํ•ด์•ผํ•œ๋‹ค. ์™„์ „ ํƒ์ƒ‰ (== Brute Force, Exhaustive search) ์™„์ „ํƒ์ƒ‰์€ ์ปดํ“จํ„ฐ์˜ ์—ฐ์‚ฐ๋Šฅ๋ ฅ์„ ์ด์šฉํ•˜์—ฌ ๊ฐ€๋Šฅํ•œ ๊ฒฝ์šฐ์˜ ์ˆ˜๋ฅผ ๋ชจ๋‘ ๋‚˜์—ดํ•˜๋ฉด์„œ ๋‹ต์„ ์ฐพ๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๋‹ค. ์ž…๋ ฅ์˜ ํฌ๊ธฐ๊ฐ€ ์ž‘์„ ๋•Œ ์ ์ ˆํ•œ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๋ฉฐ ๋” ๋น ๋ฅธ ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ๊ธฐ๋ฐ˜์ด ๋œ๋‹ค. ๋‹ต์„ ๋ฌด์กฐ๊ฑด ์ฐพ์„ ์ˆ˜ ์žˆ๋‹ค๋Š” ์žฅ์ ์ด ์žˆ์ง€๋งŒ, ์ฐพ๋Š”๋ฐ์— ์˜ค๋žœ ์‹œ๊ฐ„์ด ๊ฑธ๋ฆฐ๋‹ค๋Š” ๋‹จ์ ์ด ์žˆ๋‹ค..

[c++] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค :: ์นดํŽซ (brute force)
Algorithm ๋ฌธ์ œ/ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค 2020. 5. 28. 21:50

์นดํŽซ ์ฝ”๋“œ #include #include #include using namespace std; vector solution(int brown, int yellow) { vector answer; vector candidate; for (int i = 1; i ๋งž์œผ๋ฉด (๊ฐ€๋กœ, ์„ธ๋กœ) ๊ธธ์ด๋ฅผ ๊ฒฐ๊ณผ vector์— ๋„ฃ์–ด์„œ return brown ๊ฐฏ์ˆ˜ = 2*๊ฐ€๋กœyellow + 2*์„ธ๋กœyellow +4 4 : ์–‘์ชฝ ๋ชจ์„œ๋ฆฌ ๋‹ค๋ฅธ ์‚ฌ๋žŒ์˜ ์ฝ”๋“œ #include #include using namespace std; vector solution(int brown, int red) { int len = brown / 2 + 2; int w = len - 3; int h = 3; while(w >= h){ if(w * h ..

[c++] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค :: ์ˆซ์ž์•ผ๊ตฌ (brute force)
Algorithm ๋ฌธ์ œ/ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค 2020. 5. 28. 09:00

์ˆซ์ž์•ผ๊ตฌ ์ฝ”๋“œ #include #include using namespace std; bool check(int* arr, vector& bb) { int num = bb[0]; int s = bb[1]; int b = bb[2]; int n[3]; n[0] = num / 100; n[1] = (num - n[0] * 100) / 10; n[2] = (num - n[0] * 100 - n[1] * 10); //strike check int t_num = 0; for (int i = 0; i < 3; i++) { if (n[i] == arr[i]) t_num++; } if (t_num != s) return false; t_num = 0; for (int i = 0; i < 3; i++) { if (n[i]..

[c++] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค :: ์†Œ์ˆ˜ ์ฐพ๊ธฐ (brute force)
Algorithm ๋ฌธ์ œ/ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค 2020. 5. 24. 10:24

https://programmers.co.kr/learn/courses/30/lessons/42839 ์ฝ”๋“œ #include #include #include #include using namespace std; set res; void test(int num) { if (num num์ด ์ตœ๋Œ€ 9999999 (10^7) if (num%i == 0) return; } res.insert(num); return; } void makePrime(vector& memo,int num) { if (memo.size()==0) return; int size = memo.size(); for (int i = 0; i < size; i++) { // 7 int value = memo[i]; test(num * 10 + v..

[c++] BOJ 13023 :: ABCDE (ํ…Œ์ŠคํŠธ์ผ€์ด์Šค, ์ฝ”๋“œ)
Algorithm ๋ฌธ์ œ/BOJ 2020. 5. 6. 22:49

ABCDE https://www.acmicpc.net/problem/13023 ์‹œ๊ฐ„ ์ œํ•œ ๋ฉ”๋ชจ๋ฆฌ ์ œํ•œ ์ œ์ถœ ์ •๋‹ต ๋งž์€ ์‚ฌ๋žŒ ์ •๋‹ต ๋น„์œจ 2 ์ดˆ 512 MB 6509 1863 1222 28.399% ๋ฌธ์ œ BOJ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์บ ํ”„์—๋Š” ์ด N๋ช…์ด ์ฐธ๊ฐ€ํ•˜๊ณ  ์žˆ๋‹ค. ์‚ฌ๋žŒ๋“ค์€ 0๋ฒˆ๋ถ€ํ„ฐ N-1๋ฒˆ์œผ๋กœ ๋ฒˆํ˜ธ๊ฐ€ ๋งค๊ฒจ์ ธ ์žˆ๊ณ , ์ผ๋ถ€ ์‚ฌ๋žŒ๋“ค์€ ์นœ๊ตฌ์ด๋‹ค. ์˜ค๋Š˜์€ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์นœ๊ตฌ ๊ด€๊ณ„๋ฅผ ๊ฐ€์ง„ ์‚ฌ๋žŒ A, B, C, D, E๊ฐ€ ์กด์žฌํ•˜๋Š”์ง€ ๊ตฌํ•ด๋ณด๋ ค๊ณ  ํ•œ๋‹ค. A๋Š” B์™€ ์นœ๊ตฌ๋‹ค. B๋Š” C์™€ ์นœ๊ตฌ๋‹ค. C๋Š” D์™€ ์นœ๊ตฌ๋‹ค. D๋Š” E์™€ ์นœ๊ตฌ๋‹ค. ์œ„์™€ ๊ฐ™์€ ์นœ๊ตฌ ๊ด€๊ณ„๊ฐ€ ์กด์žฌํ•˜๋Š”์ง€ ์•ˆํ•˜๋Š”์ง€ ๊ตฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค. ์ž…๋ ฅ ์ฒซ์งธ ์ค„์— ์‚ฌ๋žŒ์˜ ์ˆ˜ N (5 โ‰ค N โ‰ค 2000)๊ณผ ์นœ๊ตฌ ๊ด€๊ณ„์˜ ์ˆ˜ M (1 โ‰ค M โ‰ค 2000)์ด ์ฃผ์–ด์ง„๋‹ค. ๋‘˜์งธ ์ค„๋ถ€ํ„ฐ M..