728x90

๐Ÿ“ Coding Test Study 108

[C++] ์ •์ /๋™์  ํ• ๋‹น๋œ ๋ฐฐ์—ด์˜ ํฌ๊ธฐ ๊ตฌํ•˜๊ธฐ

์ •์ ํ• ๋‹น์œผ๋กœ ๋งŒ๋“ค์–ด์ง„ ๋ณ€์ˆ˜๋Š” DATA์˜์—ญ์— ์ €์žฅ๋˜๋Š”๋ฐ, ๋™์ ํ• ๋‹น์œผ๋กœ ๋งŒ๋“ค์–ด์ง„ ๋ณ€์ˆ˜๋Š” HEAP์˜์—ญ์— ์ €์žฅ๋œ๋‹ค. DATA ์˜์—ญ์— ํ• ๋‹น๋œ ๋ณ€์ˆ˜์˜ ๋ฉ”๋ชจ๋ฆฌ ํฌ๊ธฐ๋Š” sizeof ์—ฐ์‚ฐ์ž๋กœ ํฌ๊ธฐ๋ฅผ ๋ถˆ๋Ÿฌ ์˜ฌ ์ˆ˜ ์žˆ์ง€๋งŒ, HEAP ์˜์—ญ์— ํ• ๋‹น๋œ ๋ณ€์ˆ˜์˜ ๋ฉ”๋ชจ๋ฆฌ ํฌ๊ธฐ๋Š” sizeof ์—ฐ์‚ฐ์ž๋กœ ๋ถˆ๋Ÿฌ์˜ฌ ์ˆ˜ ์—†๋‹ค. _msize ์—ฐ์‚ฐ์ž๋กœ ๋ถˆ๋Ÿฌ์™€์•ผ ํ•œ๋‹ค. _msize Learn more about: _msize docs.microsoft.com * ์ •์ ํ• ๋‹น์œผ๋กœ ๋งŒ๋“  ๋ฐฐ์—ด์˜ ํฌ๊ธฐ ๊ตฌํ•˜๊ธฐ int arr[5]; int arr_size = sizeof(arr) / sizeof(int); * ๋™์ ํ• ๋‹น์œผ๋กœ ๋งŒ๋“  ๋ฐฐ์—ด์˜ ํฌ๊ธฐ ๊ตฌํ•˜๊ธฐ #include #include // _msize() ์‚ฌ์šฉ์„ ์œ„ํ•ด malloc.h ํ—ค๋” ์ถ”๊ฐ€! using namesp..

[C++][BAEKJOON][์‹œ๋ฎฌ๋ ˆ์ด์…˜] 17144๋ฒˆ ๋ฏธ์„ธ๋จผ์ง€ ์•ˆ๋…•!

๋ฌธ์ œ 17144๋ฒˆ: ๋ฏธ์„ธ๋จผ์ง€ ์•ˆ๋…•! ๋ฏธ์„ธ๋จผ์ง€๋ฅผ ์ œ๊ฑฐํ•˜๊ธฐ ์œ„ํ•ด ๊ตฌ์‚ฌ๊ณผ๋Š” ๊ณต๊ธฐ์ฒญ์ •๊ธฐ๋ฅผ ์„ค์น˜ํ•˜๋ ค๊ณ  ํ•œ๋‹ค. ๊ณต๊ธฐ์ฒญ์ •๊ธฐ์˜ ์„ฑ๋Šฅ์„ ํ…Œ์ŠคํŠธํ•˜๊ธฐ ์œ„ํ•ด ๊ตฌ์‚ฌ๊ณผ๋Š” ์ง‘์„ ํฌ๊ธฐ๊ฐ€ R×C์ธ ๊ฒฉ์žํŒ์œผ๋กœ ๋‚˜ํƒ€๋ƒˆ๊ณ , 1×1 ํฌ๊ธฐ์˜ ์นธ์œผ๋กœ ๋‚˜๋ˆด๋‹ค. ๊ตฌ์‚ฌ www.acmicpc.net ํ’€์ด ๋ฏธ์„ธ๋จผ์ง€๊ฐ€ ํผ์ง€๊ณ  ๋‚˜์„œ ๊ธฐ์กด ๋งต์˜ ๊ฐ’์„ ๊ฐฑ์‹ ํ•ด๋‘๋ฉด ๋‹ค์Œ ๋ฏธ์„ธ๋จผ์ง€์˜ ํ™•์‚ฐ์— ์˜ํ–ฅ์„ ๋ฏธ์น˜๋ฏ€๋กœ int cal_map[1001][1001] = { {0,0}, }; ์ด๋ผ๋Š” ์ƒˆ ๋ณ€์ˆ˜๋ฅผ ๋งŒ๋“ค์–ด์„œ ๊ทธ ๋ณ€์ˆ˜์— ๊ฐ’์„ ๊ณ„์† ๋”ํ•œ ํ›„, ๋งˆ์ง€๋ง‰์— ๋”ํ•˜๋Š” ์‹์œผ๋กœ ๊ตฌํ˜„ํ–ˆ๋‹ค. ๊ณต๊ธฐ์ฒญ์ •๊ธฐ์˜ ์ˆœํ™˜๋ถ€๋ถ„์€ ๊ณต๊ธฐ์ฒญ์ •๊ธฐ ์œ„์•„๋ž˜๋ฅผ 0์œผ๋กœ ํ‘œ์‹œํ•ด๋‘๊ณ  ์œ„์ชฝ์€ ๋ฐ˜์‹œ๊ณ„๋ฐฉํ–ฅ, ์•„๋ž˜์ชฝ์€ ์‹œ๊ณ„๋ฐฉํ–ฅ์œผ๋กœ ํ•œ ์นธ์”ฉ ๋Œ๋ ธ๋‹ค. for ๋ฌธ 8๊ฐœ๋กœ ;;;;; ๋งˆ์ง€๋ง‰์— ๋ฏธ์„ธ๋จผ์ง€์˜ ์–‘์„ ๊ณ„์‚ฐํ•˜๋Š” ๊ฒƒ์ด๋ฏ€๋กœ map์—์„œ -..

[C++] ํ•ด์‹œ๋งต(Hash Map)์— ๋Œ€ํ•ด ์•Œ์•„๋ณด์ž (std::unordered_map)

[๋ณธ๋ก ์œผ๋กœ ๋“ค์–ด๊ฐ€๊ธฐ ์ „์—...] ๊ธฐ์กด์˜ map์€ ์š”์†Œ๊ฐ€ ์ž๋™์œผ๋กœ ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌ๋˜๋Š” ์ด์ง„ ํƒ์ƒ‰ ํŠธ๋ฆฌ(BST) ๊ธฐ๋ฐ˜์ด์—ˆ๋‹ค. ๊ทธ๋ž˜์„œ ์ •๋ ฌ์ด ํ•„์š”ํ•˜์ง€ ์•Š์€ ๊ฒฝ์šฐ์—๋„ ์ž๋™์œผ๋กœ ์ •๋ ฌ๋˜์–ด ๋ถˆํ•„์š”ํ•œ ์˜ค๋ฒ„ํ—ค๋“œ๊ฐ€ ์žˆ์—ˆ๋‹ค. ์ฆ‰, ์˜ค๋ฒ„ํ—ค๋“œ๋ฅผ ๊ฐ์ˆ˜ํ•˜๋ฉด์„œ map์„ ์‚ฌ์šฉํ•˜๋˜์ง€, ๋น„ํ‘œ์ค€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ธ hash_map์„ ์‚ฌ์šฉํ•ด์•ผ ํ–ˆ๋‹ค. ๊ทธ๋Ÿฐ๋ฐ, C++11 ๋ถ€ํ„ฐ ์ด๋Ÿฐ ๋ถˆํŽธํ•จ์„ ํ•ด์†Œํ•ด์ค„ unordered_map ์ด ๋“ฑ์žฅํ–ˆ๋‹ค. map๊ณผ ๋‹ฌ๋ฆฌ ์ด์ง„ ํƒ์ƒ‰ ํŠธ๋ฆฌ๊ฐ€ ์•„๋‹ˆ๋ผ 'ํ•ด์‹œ ํ…Œ์ด๋ธ”'๋กœ ๊ตฌํ˜„๋˜์–ด ์žˆ๋Š” ์ž๋ฃŒ๊ตฌ์กฐ๋กœ. unorderd_map์€ ์ •๋ ฌ์ด ์ž๋™์œผ๋กœ ๋˜์ง€ ์•Š๊ณ , ์š”์†Œ ๊ฒ€์ƒ‰/์‚ฝ์ž…/์‚ญ์ œ ์—ฐ์‚ฐ์ด O(1) ์‹œ๊ฐ„ ์•ˆ์— ๊ฐ€๋Šฅํ•˜๋‹ค. ๊ทธ๋ž˜์„œ ์šฐ๋ฆฌ๊ฐ€ ๊ณต๋ถ€ํ•ด์•ผํ•  ์ž๋ฃŒ๊ตฌ์กฐ๋Š” unordered_map ์ด๋‹ค ! [unordered_map(hash_map)์˜ ํŠน..

[C++][BAEKJOON][DP] 9456๋ฒˆ ์Šคํ‹ฐ์ปค

๋ฌธ์ œ https://www.acmicpc.net/problem/9465 9465๋ฒˆ: ์Šคํ‹ฐ์ปค ์ฒซ์งธ ์ค„์— ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค์˜ ๊ฐœ์ˆ˜ T๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ๊ฐ ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค์˜ ์ฒซ์งธ ์ค„์—๋Š” n (1 ≤ n ≤ 100,000)์ด ์ฃผ์–ด์ง„๋‹ค. ๋‹ค์Œ ๋‘ ์ค„์—๋Š” n๊ฐœ์˜ ์ •์ˆ˜๊ฐ€ ์ฃผ์–ด์ง€๋ฉฐ, ๊ฐ ์ •์ˆ˜๋Š” ๊ทธ ์œ„์น˜์— ํ•ด๋‹นํ•˜๋Š” ์Šคํ‹ฐ์ปค์˜ www.acmicpc.net ๋ฌธ์ œ์„ค๋ช… ์ฝ”๋“œ #include #include using namespace std; int sticker[2][100001]; int searchMaxScore(int); int main() { int testcase = 0; cin >> testcase; for (int t = 0; t > column; fo..

[C++][ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ๊ด„ํ˜ธ ๋ณ€ํ™˜

๋ฌธ์ œ https://programmers.co.kr/learn/courses/30/lessons/60058 ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต - ๊ด„ํ˜ธ ๋ณ€ํ™˜ ์นด์นด์˜ค์— ์‹ ์ž… ๊ฐœ๋ฐœ์ž๋กœ ์ž…์‚ฌํ•œ "์ฝ˜"์€ ์„ ๋ฐฐ ๊ฐœ๋ฐœ์ž๋กœ๋ถ€ํ„ฐ ๊ฐœ๋ฐœ์—ญ๋Ÿ‰ ๊ฐ•ํ™”๋ฅผ ์œ„ํ•ด ๋‹ค๋ฅธ ๊ฐœ๋ฐœ์ž๊ฐ€ ์ž‘์„ฑํ•œ ์†Œ์Šค ์ฝ”๋“œ๋ฅผ ๋ถ„์„ํ•˜์—ฌ ๋ฌธ์ œ์ ์„ ๋ฐœ๊ฒฌํ•˜๊ณ  ์ˆ˜์ •ํ•˜๋ผ๋Š” ์—…๋ฌด ๊ณผ์ œ๋ฅผ ๋ฐ›์•˜์Šต๋‹ˆ๋‹ค. ์†Œ์Šค๋ฅผ programmers.co.kr ๋ฌธ์ œํ’€์ด ์‹œ๋ฎฌ๋ ˆ์ด์…˜ ๊ฐ™์ด ๋ฌธ์ œ์—์„œ ์•Œ๋ ค์ค€ ๊ด„ํ˜ธ๋ณ€ํ™˜ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ํ•˜๋‚˜ํ•˜๋‚˜ ์ฐจ๋ก€๋กœ ๊ตฌํ˜„ํ•˜๋ฉด ๋œ๋‹ค. 1. ์ž…๋ ฅ์ด ๋นˆ ๋ฌธ์ž์—ด์ธ ๊ฒฝ์šฐ, ๋นˆ ๋ฌธ์ž์—ด์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค. 2. ๋ฌธ์ž์—ด w๋ฅผ ๋‘ "๊ท ํ˜•์žกํžŒ ๊ด„ํ˜ธ ๋ฌธ์ž์—ด" u, v๋กœ ๋ถ„๋ฆฌํ•ฉ๋‹ˆ๋‹ค. ๋‹จ, u๋Š” "๊ท ํ˜•์žกํžŒ ๊ด„ํ˜ธ ๋ฌธ์ž์—ด"๋กœ ๋” ์ด์ƒ ๋ถ„๋ฆฌํ•  ์ˆ˜ ์—†์–ด์•ผ ํ•˜๋ฉฐ, v๋Š” ๋นˆ ๋ฌธ์ž์—ด์ด ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. 3. ๋ฌธ์ž์—ด u๊ฐ€ "์˜ฌ๋ฐ”๋ฅธ ๊ด„ํ˜ธ ..

[C++][Baekjoon] 14503๋ฒˆ ๋กœ๋ด‡ ์ฒญ์†Œ๊ธฐ

๋ฌธ์ œ https://www.acmicpc.net/problem/14503 14503๋ฒˆ: ๋กœ๋ด‡ ์ฒญ์†Œ๊ธฐ ๋กœ๋ด‡ ์ฒญ์†Œ๊ธฐ๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ, ์ฒญ์†Œํ•˜๋Š” ์˜์—ญ์˜ ๊ฐœ์ˆ˜๋ฅผ ๊ตฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค. ๋กœ๋ด‡ ์ฒญ์†Œ๊ธฐ๊ฐ€ ์žˆ๋Š” ์žฅ์†Œ๋Š” N×M ํฌ๊ธฐ์˜ ์ง์‚ฌ๊ฐํ˜•์œผ๋กœ ๋‚˜ํƒ€๋‚ผ ์ˆ˜ ์žˆ์œผ๋ฉฐ, 1×1ํฌ๊ธฐ์˜ ์ •์‚ฌ๊ฐํ˜• ์นธ์œผ๋กœ ๋‚˜๋ˆ„์–ด www.acmicpc.net ์ฝ”๋“œ #include using namespace std; void CleanArea(int, int, int); const int direction[4][2] = { {-1,0},{0,1},{1,0},{0,-1} }; //๋ถ, ๋™, ๋‚จ, ์„œ int map[51][51]; int height, width; int clean_count; int main() { cin >> height >> ..

[C++][Baekjoon][DP] 1309๋ฒˆ ๋™๋ฌผ์›

๋ฌธ์ œ https://www.acmicpc.net/problem/1309 1309๋ฒˆ: ๋™๋ฌผ์› ์ฒซ์งธ ์ค„์— ์šฐ๋ฆฌ์˜ ํฌ๊ธฐ N(1≤N≤100,000)์ด ์ฃผ์–ด์ง„๋‹ค. www.acmicpc.net ๋ฐฑ์ค€์— ์Šคํ‹ฐ์ปค๋ž‘ 2*n ํƒ€์ผ๋ง ๋ฌธ์ œ์™€ ๋งค์šฐ ๋น„์Šท... ์ฐธ๊ณ ์‚ฌ์ง„ ์ฝ”๋“œ #include using namespace std; void DP_function(int); const int MAX_SIZE = 100000; const int MOD = 9901; int dp[MAX_SIZE][3]; int main() { int column = 0; cin >> column; DP_function(column); } void DP_function(int column) { dp[1][0] = 1; dp[1][1] = 1; dp[1][2..

[C++][Baekjoon] 16974๋ฒˆ ์„œ์šธ ์ง€ํ•˜์ฒ  2ํ˜ธ์„ 

๋ฌธ์ œ https://www.acmicpc.net/problem/16947 16947๋ฒˆ: ์„œ์šธ ์ง€ํ•˜์ฒ  2ํ˜ธ์„  ์ฒซ์งธ ์ค„์— ์—ญ์˜ ๊ฐœ์ˆ˜ N(3 ≤ N ≤ 3,000)์ด ์ฃผ์–ด์ง„๋‹ค. ๋‘˜์งธ ์ค„๋ถ€ํ„ฐ N๊ฐœ์˜ ์ค„์—๋Š” ์—ญ๊ณผ ์—ญ์„ ์—ฐ๊ฒฐํ•˜๋Š” ๊ตฌ๊ฐ„์˜ ์ •๋ณด๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ๊ฐ™์€ ๊ตฌ๊ฐ„์ด ์—ฌ๋Ÿฌ ๋ฒˆ ์ฃผ์–ด์ง€๋Š” ๊ฒฝ์šฐ๋Š” ์—†๊ณ , ์—ญ์€ 1๋ฒˆ๋ถ€ํ„ฐ N๋ฒˆ๊นŒ์ง€ ๋ฒˆํ˜ธ www.acmicpc.net ํ’€์ด ์‚ฌ์ง„ ์ฐธ๊ณ  ์ฝ”๋“œ #include #include #include #include using namespace std; const int MAX = 3001; int n;//๋ฌธ์ œ์—์„œ ์ฃผ์–ด์ง„ ์—ญ์˜ ๊ฐœ์ˆ˜ vector stations[MAX];//๋ฌธ์ œ์—์„œ ์ฃผ์–ด์ง„ ์—ญ ์ •๋ณด bool visited[MAX];//BFS/DFS ํƒ์ƒ‰์„ ์œ„ํ•œ ๋ฐฉ๋ฌธ์ฒดํฌ ๋ฐฐ์—ด bool cycle_..

[C++][BAEKJOON][Dijkstra Alg] 1261๋ฒˆ ์•Œ๊ณ ์ŠคํŒŸ

๋ฌธ์ œ https://www.acmicpc.net/problem/1261 1261๋ฒˆ: ์•Œ๊ณ ์ŠคํŒŸ ์ฒซ์งธ ์ค„์— ๋ฏธ๋กœ์˜ ํฌ๊ธฐ๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ๊ฐ€๋กœ ํฌ๊ธฐ M, ์„ธ๋กœ ํฌ๊ธฐ N (1 ≤ N, M ≤ 100)์ด ์ฃผ์–ด์ง„๋‹ค. ๋‹ค์Œ N๊ฐœ์˜ ์ค„์—๋Š” ๋ฏธ๋กœ์˜ ์ƒํƒœ๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ์ˆซ์ž 0๊ณผ 1์ด ์ฃผ์–ด์ง„๋‹ค. 0์€ ๋นˆ ๋ฐฉ์„ ์˜๋ฏธํ•˜๊ณ , 1์€ ๋ฒฝ์„ ์˜๋ฏธ www.acmicpc.net ์ฝ”๋“œ #include #include using namespace std; void dijkstra(); int M, N;//M: ์—ด, N: ํ–‰ int map[101][101];//๋ฌธ์ œ์—์„œ ์ฃผ์–ด์ง„ map์ •๋ณด int cost[101][101];//map์˜ ๋น„์šฉ์„ ์ €์žฅํ•  ๋ฐฐ์—ด int direction[4][2] = { {0,1},{1,0},{0,-1},{-1,0} };//์˜ค..

[C++][์ •๊ทœํ‘œํ˜„์‹] <regex> ํ•จ์ˆ˜

๋ฌธ์ž์—ด ๋ฌธ์ œ์—์„œ ์œ ์šฉํ•˜๊ฒŒ ์“ธ ์ •๊ทœํ‘œํ˜„์‹์„ ๊ณต๋ถ€ํ•ด๋ณด์ž. (http://sweeper.egloos.com/2999049 ์‚ฌ์ดํŠธ๋ฅผ ์ฐธ๊ณ ํ•ด์„œ ์ ์—ˆ์Šต๋‹ˆ๋‹ค.) · ํ—ค๋”ํŒŒ์ผ: · ๊ด€๋ จ ํ•จ์ˆ˜: 1) regex_match: ์ •๊ทœ์‹์ด ์ „์ฒด ๋Œ€์ƒ ๋ฌธ์ž์—ด๊ณผ ์ผ์น˜ํ•˜๋Š”์ง€ ์—ฌ๋ถ€๋ฅผ ๋ฐ˜ํ™˜(bool) 2) regex_search: ๋ฌธ์ž์—ด์ด ์ •๊ทœ์‹๊ณผ ๋งค์น˜๋˜๋Š” sub string์„ ํฌํ•จํ•˜๊ณ  ์žˆ๋Š”์ง€ ์—ฌ๋ถ€๋ฅผ ๋ฐ˜ํ™˜(bool) 3) regex_replace: ์ •๊ทœ์‹ ํ‘œํ˜„์‹์„ replace ๋ฌธ์ž์—ด๋กœ ๊ต์ฒดํ•œ๋‹ค. ๊ต์ฒด๋œ ์ „์ฒด ๋ฌธ์ž์—ด์„ ๋ฐ˜ํ™˜ํ•œ๋‹ค.(string) 4) swap: ๋‘ basic_regex ๋˜๋Š” match_results ๊ฐœ์ฒด๋ฅผ ๊ตํ™˜ ํ•ฉ๋‹ˆ๋‹ค.(string) · ์ƒ์„ธ ์„ค๋ช… 1) std::regex_match ๋Š” ์ „์ฒด ๋ฌธ์ž์—ด์ด ํŠน์ • ๊ทœ์น™(ํŒจํ„ด)์„ ..

728x90