/CodingtestStudy

๐Ÿ“š Algorithm Study

Primary LanguagePython

CodingtestStudy

์•Œ๊ณ ๋ฆฌ์ฆ˜๋ณ„๋กœ ๋Œ€ํ‘œ ๋ฌธํ•ญ์„ ํ’€๋ฉฐ ์ฝ”๋”ฉํ…Œ์ŠคํŠธ๋ฅผ ์ค€๋น„ํ•œ๋‹ค.

์ฐธ๊ณ  repo: (https://github.com/tony9402/baekjoon)

  • 1 month curriculum (23.03.03 ~ 23.03.31)

1 month curriculum

๋‚ ์งœ Tag ํƒœ๊ทธ ๋ฌธ์ œ์ง‘ ๋ฌธ์ œ๋ฒˆํ˜ธ
23.03.03 Data Structure ์ž๋ฃŒ๊ตฌ์กฐ ๋ฐ”๋กœ๊ฐ€๊ธฐ 1918, 2346
23.03.04 Data Structure2 ์ž๋ฃŒ๊ตฌ์กฐ2 ๋ฐ”๋กœ๊ฐ€๊ธฐ 2075, 7662
23.03.05 Math ์ˆ˜ํ•™ ๋ฐ”๋กœ๊ฐ€๊ธฐ 21920, 21275
23.03.06 Prefix Sum ๋ˆ„์  ํ•ฉ ๋ฐ”๋กœ๊ฐ€๊ธฐ 2015, 2167
23.03.07 Backtracking ๋ฐฑํŠธ๋ž˜ํ‚น ๋ฐ”๋กœ๊ฐ€๊ธฐ 15651, 15652
23.03.08 Backtracking ๋ฐฑํŠธ๋ž˜ํ‚น ๋ฐ”๋กœ๊ฐ€๊ธฐ 10971, 9663
23.03.09 Dynamic Programming 1 ๋™์ ๊ณ„ํš๋ฒ• 1 ๋ฐ”๋กœ๊ฐ€๊ธฐ 2748, 1010
23.03.10 Dynamic Programming 2 ๋™์ ๊ณ„ํš๋ฒ• 2 ๋ฐ”๋กœ๊ฐ€๊ธฐ 9084, 2225
23.03.11 Graph Traversal ๊ทธ๋ž˜ํ”„ ํƒ์ƒ‰ ๋ฐ”๋กœ๊ฐ€๊ธฐ 16973, 16954
23.03.12 Graph Traversal ๊ทธ๋ž˜ํ”„ ํƒ์ƒ‰ ๋ฐ”๋กœ๊ฐ€๊ธฐ 22946, 2206
23.03.13 Tree ํŠธ๋ฆฌ ๋ฐ”๋กœ๊ฐ€๊ธฐ 11725, 9934
23.03.14 Tree ํŠธ๋ฆฌ ๋ฐ”๋กœ๊ฐ€๊ธฐ 5639, 3584
23.03.15 Shortest Path ์ตœ๋‹จ๊ฑฐ๋ฆฌ ๋ฐ”๋กœ๊ฐ€๊ธฐ 18352, 1753
23.03.16 Binary Search ์ด๋ถ„ํƒ์ƒ‰ ๋ฐ”๋กœ๊ฐ€๊ธฐ 2654, 2512
23.03.17 Divide and conquer ๋ถ„ํ• ์ •๋ณต ๋ฐ”๋กœ๊ฐ€๊ธฐ 1074, 1992
23.03.18 Greedy ํƒ์š•๋ฒ• ๋ฐ”๋กœ๊ฐ€๊ธฐ 14916, 16953
23.03.19 Greedy ํƒ์š•๋ฒ• ๋ฐ”๋กœ๊ฐ€๊ธฐ 11000, 1715
23.03.20 Brute Forece ์™„์ „ํƒ์ƒ‰ ๋ฐ”๋กœ๊ฐ€๊ธฐ 2961, 2798
23.03.21 Simulation ์‹œ๋ฎฌ๋ ˆ์ด์…˜ ๋ฐ”๋กœ๊ฐ€๊ธฐ 1713, 15683
23.03.22 Implementation ๊ตฌํ˜„ ๋ฐ”๋กœ๊ฐ€๊ธฐ 4396, 1913
23.03.23 String ๋ฌธ์ž์—ด ๋ฐ”๋กœ๊ฐ€๊ธฐ 17413, 20210
23.03.24 Trie ํŠธ๋ผ์ด ๋ฐ”๋กœ๊ฐ€๊ธฐ 14425, 5052
23.03.25 Two Pointers ํˆฌ ํฌ์ธํ„ฐ ๋ฐ”๋กœ๊ฐ€๊ธฐ 20922, 20366
23.03.26 Topological Sorting ์œ„์ƒ์ •๋ ฌ ๋ฐ”๋กœ๊ฐ€๊ธฐ 1766, 2252
23.03.27 Disjoint Set ๋ถ„๋ฆฌ์ง‘ํ•ฉ ๋ฐ”๋กœ๊ฐ€๊ธฐ 10775, 4195
23.03.28 Minimum Spanning Tree(MST) ์ตœ์†Œ ์ŠคํŒจ๋‹ ํŠธ๋ฆฌ ๋ฐ”๋กœ๊ฐ€๊ธฐ 1197, 1647
23.03.29 Dynamic Programming On Trees ํŠธ๋ฆฌ ๋””ํ”ผ ๋ฐ”๋กœ๊ฐ€๊ธฐ 2213, 1949
23.03.30 ์˜ค๋Š˜์˜ ๋ฌธ์ œ ๋ฐ”๋กœ๊ฐ€๊ธฐ
23.03.31 ์˜ค๋Š˜์˜ ๋ฌธ์ œ ๋ฐ”๋กœ๊ฐ€๊ธฐ

์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ํ•™์Šต ์ˆœ์„œ ์ถ”์ฒœ

  • ์ˆ˜ํ•™ -> ์ž๋ฃŒ๊ตฌ์กฐ -> ์žฌ๊ท€ -> DP -> ๊ทธ๋ž˜ํ”„(DFS/BFS) -> ์ตœ๋‹จ๊ฒฝ๋กœ -> ์ด๋ถ„ํƒ์ƒ‰ -> ๋ถ„ํ• ์ •๋ณต -> ๊ทธ๋ฆฌ๋”” -> ์™„์ „ํƒ์ƒ‰, ์‹œ๋ฎฌ๋ ˆ์ด์…˜, ๊ตฌํ˜„(๊ฐ€๋Šฅํ•˜๋ฉด ์ด๊ฑธ ๋งŽ์ด ํ‘ธ๋Š” ๊ฒŒ ์ข‹๋‹ค. ๊ตฌํ˜„๋ ฅ์ด ๋Š˜๊ณ  ํ’€ ์ˆ˜ ์žˆ๋Š” ๋ฌธ์ œ๊ฐ€ ๋งŽ์•„์ง„๋‹ค) -> ๋ฌธ์ž์—ด -> ํˆฌ ํฌ์ธํ„ฐ, ์Šฌ๋ผ์ด๋”ฉ ์œˆ๋„์šฐ -> ๋ฐฑํŠธ๋ž™ํ‚น 1์ฃผ์”ฉ.

๋ฐฑ์ค€์˜ ๊ฒฝ์šฐ ์ž…์ถœ๋ ฅ ๋ฐฉ๋ฒ•์„ ์•Œ๊ณ  ์žˆ์–ด์•ผ ํ•จ

  • ์ž…์ถœ๋ ฅ ๋ฌธ์ œ ์ถ”์ฒœ
    • 2557, 1000, 2558, 10950, 10951, 10952, 10953, 11021, 11022, 11718, 11719, 11720, 11721, 2741, 2742, 2739, 1924, 8393, 10818, 2438, 2439, 2440, 2441, 2442, 2445, 2522, 2446, 10991, 10992

Problem

์ˆœ๋ฒˆ Tag ํƒœ๊ทธ ๋ฌธ์ œ์ง‘ ์ถ”์ฒœ ๋ฌธ์ œ ์ˆ˜ ์ด ๋ฌธ์ œ ์ˆ˜
00 Data Structure ์ž๋ฃŒ๊ตฌ์กฐ ๋ฐ”๋กœ๊ฐ€๊ธฐ 16 25
01 Data Structure 2 ์ž๋ฃŒ๊ตฌ์กฐ 2 ๋ฐ”๋กœ๊ฐ€๊ธฐ 11 21
02 Math ์ˆ˜ํ•™ ๋ฐ”๋กœ๊ฐ€๊ธฐ 18 29
03 Tree ํŠธ๋ฆฌ ๋ฐ”๋กœ๊ฐ€๊ธฐ 15 44
04 Greedy ํƒ์š•๋ฒ• ๋ฐ”๋กœ๊ฐ€๊ธฐ 27 62
05 Dynamic Programming 1 ๋™์ ๊ณ„ํš๋ฒ• 1 ๋ฐ”๋กœ๊ฐ€๊ธฐ 27 80
06 Dynamic Programming 2 ๋™์ ๊ณ„ํš๋ฒ• 2 ๋ฐ”๋กœ๊ฐ€๊ธฐ 28 81
07 Two Pointer ํˆฌ ํฌ์ธํ„ฐ ๋ฐ”๋กœ๊ฐ€๊ธฐ 13 36
08 Implementation ๊ตฌํ˜„ ๋ฐ”๋กœ๊ฐ€๊ธฐ 30 51
09 Graph Traversal ๊ทธ๋ž˜ํ”„ ํƒ์ƒ‰ ๋ฐ”๋กœ๊ฐ€๊ธฐ 31 96
10 Brute Force ์™„์ „ํƒ์ƒ‰ ๋ฐ”๋กœ๊ฐ€๊ธฐ 33 94
11 Simulation ์‹œ๋ฎฌ๋ ˆ์ด์…˜ ๋ฐ”๋กœ๊ฐ€๊ธฐ 30 48
12 Binary Search ์ด๋ถ„ํƒ์ƒ‰ ๋ฐ”๋กœ๊ฐ€๊ธฐ 20 66
13 Backtracking ๋ฐฑํŠธ๋ž˜ํ‚น ๋ฐ”๋กœ๊ฐ€๊ธฐ 28 75
14 Divide and conquer ๋ถ„ํ• ์ •๋ณต ๋ฐ”๋กœ๊ฐ€๊ธฐ 08 18
15 Prefix Sum ๋ˆ„์  ํ•ฉ ๋ฐ”๋กœ๊ฐ€๊ธฐ 11 32
16 String ๋ฌธ์ž์—ด ๋ฐ”๋กœ๊ฐ€๊ธฐ 19 63
17 Shortest Path ์ตœ๋‹จ๊ฑฐ๋ฆฌ ๋ฐ”๋กœ๊ฐ€๊ธฐ 18 53
18 Topological Sorting ์œ„์ƒ์ •๋ ฌ ๋ฐ”๋กœ๊ฐ€๊ธฐ 05 14
19 Disjoint Set ๋ถ„๋ฆฌ ์ง‘ํ•ฉ ๋ฐ”๋กœ๊ฐ€๊ธฐ 06 20
20 Minimum Spanning Tree(MST) ์ตœ์†Œ ์ŠคํŒจ๋‹ ํŠธ๋ฆฌ ๋ฐ”๋กœ๊ฐ€๊ธฐ 08 24
21 Trie ํŠธ๋ผ์ด ๋ฐ”๋กœ๊ฐ€๊ธฐ 05 09
22 Dynamic Programming On Trees ํŠธ๋ฆฌ๋””ํ”ผ ๋ฐ”๋กœ๊ฐ€๊ธฐ 04 08