/2021-Algorithm-Study

๐Ÿ† ์ฝ”๋”ฉ ํ…Œ์ŠคํŠธ ์Šคํ„ฐ๋”” : ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค, ๋ฐฑ์ค€ (~ing)

Primary LanguagePython

2021-Algorithm-Study

์ฝ”๋”ฉ ํ…Œ์ŠคํŠธ ์ค€๋น„๋ฅผ ์œ„ํ•œ ์Šคํ„ฐ๋””์ž…๋‹ˆ๋‹ค.

์Šคํ„ฐ๋”” ๊ทœ์น™

๋ฌธ์ œ ํ’€์ด

  1. ์ฃผ๋งˆ๋‹ค 3๋ฌธ์ œ์”ฉ ์„ ์ •ํ•ด์„œ ๋ฌธ์ œ ํ’€์ด๋ฅผ ์ง„ํ–‰ํ•จ. ํšŒ์˜ ์‹œ๊ฐ„์—๋Š” ๊ฐ์ž 1๋ฌธ์ œ ํ’€์ด ์„ค๋ช….
    1. ๊ฐœ๋…+์•Œ๊ณ ๋ฆฌ์ฆ˜+ํ’€์ด ๋ฐฉ์‹ ์ž์„ธํ•˜๊ฒŒ ์„ค๋ช…ํ•˜๊ธฐ.
    2. ๋งŒ์•ฝ ์ƒ๋Œ€๊ฐ€ ์ดํ•ด ๋ชปํ•˜๋ฉด ์ดํ•ดํ•  ๋•Œ๊นŒ์ง€ ์„ค๋ช…ํ•ด์•ผ ํ•จ.
  2. ๊นƒํ—ˆ๋ธŒ ํ™œ์šฉํ•ด์„œ Pull Request๋กœ ์ฝ”๋“œ ๋ฆฌ๋ทฐ ์ง„ํ–‰ํ•จ.
    1. ์„œ๋กœ์— ๋Œ€ํ•œ ์ฝ”๋“œ ๋ฆฌ๋ทฐ๋Š” ํ† ์š”์ผ๊นŒ์ง€ ์™„๋ฃŒํ•˜๊ธฐ.
    2. ๋ฐ˜๋“œ์‹œ ์ฝ”๋“œ ๋ฆฌ๋ทฐ ํ›„์— main branch๋กœ merge.
    3. ๊ธฐ๋ณธ์ ์œผ๋กœ ์˜ฌ๋ฆด ๋•Œ๋Š” ๊ฐ์ž ์ด๋ฆ„์œผ๋กœ ๋œ branch์— ์˜ฌ๋ฆผ.
  3. ์ฝ”๋“œ ๋ฆฌ๋ทฐ ๋ฐ›์€ ๊ฒƒ์— ๋Œ€ํ•ด์„œ๋Š” ๋‹ค์Œ ํšŒ์˜ ์ „๊นŒ์ง€ ์ˆ˜์ •ํ•ด์„œ ๋‹ค์‹œ ๊นƒํ—ˆ๋ธŒ์— ์˜ฌ๋ฆฌ๊ธฐ.

์„ค๋ช… ๋ฐฉ์‹

  1. ์ ์šฉ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๊ฐœ๋… ๊ฐ„๋‹จํ•˜๊ฒŒ ์„ค๋ช…ํ•˜๊ธฐ
  2. ๋ฌธ์ œ ํ’€์ด๋ฅผ ์œ„ํ•œ ์ ‘๊ทผ ๋ฐฉ์‹(or ๊ฐœ๋…) ์„ค๋ช…
  3. ๊ธฐ๋ณธ ์ฝ”๋“œ์— ๋Œ€ํ•œ ์„ค๋ช…
  4. ์ถ”๊ฐ€์ ์œผ๋กœ ๊ฐœ์„ ํ•œ ์ฝ”๋“œ์— ๋Œ€ํ•œ ์„ค๋ช…
  5. ์‹œ๊ฐ„ ๋ณต์žก๋„, ๊ณต๊ฐ„ ๋ณต์žก๋„ ๊ณ„์‚ฐ => ์–ด๋ ค์šฐ๋ฉด ์‹คํ–‰ ์‹œ๊ฐ„ ์บก์ฒ˜๋กœ ๋Œ€์ฒด
  6. ์‚ฌ์šฉ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ •๋ฆฌ
  7. ๊ธฐํƒ€(๋ฌธ์ œ ํ’€์ด์— ์–ด๋ ค์› ๋˜ ์ , ๊ตฌํ˜„ํ•˜๊ณ ์ž ํ–ˆ๋Š”๋ฐ ์‹คํŒจํ•œ ๋ฐฉ์‹)

์ง„ํ–‰ ๋ฐฉ์‹

  • ๋งŒ์•ฝ ์ฃผ์ฐจ์— ํ•ด๋‹นํ•˜๋Š” ๋ฌธ์ œ ํ’€์ด๊ฐ€ ๋ฏธ์™„๋ฃŒ ์‹œ, ํšŒ์˜ ๋‹น์ผ์— ์ง์ ‘ ๋ฌธ์ œ ํ’€์ด ์ง„ํ–‰ํ•ด์•ผ ํ•จ.
  • ๋๋‚  ๋•Œ๊นŒ์ง€ ํšŒ์˜๋Š” ๋๋‚˜์ง€ ์•Š์Œ..(์—ด์‹ฌํžˆ ํ•˜์ž..๋‹ค๋ฅธ ์‚ฌ๋žŒ์„ ์ƒ๊ฐํ•˜๋ฉฐ)

PR ๊ทœ์น™ ๋ฐ Commit Message ๊ทœ์น™

Pull Request

  • [Programmers-ํด๋”๋ช…] ์ด๋ฆ„

  • [Baekjoon-ํด๋”๋ช…] ์ด๋ฆ„

Commit Message

  • [Programmers-๋ฌธ์ œ๋ฒˆํ˜ธ] ๋ฌธ์ œ๋ช…

  • [Baekjoon-๋ฌธ์ œ๋ฒˆํ˜ธ] ๋ฌธ์ œ๋ช…

ํŒŒ์ผ ๋ฐ ํด๋” ๊ตฌ์กฐ

ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค

  • Programmers/suyeon/ํด๋”๋ช…/๋ฌธ์ œ๋ช….py
  • Programmers/eugene/ํด๋”๋ช…/๋ฌธ์ œ๋ช….py
  • Programmers/jiwoo/ํด๋”๋ช…/๋ฌธ์ œ๋ช….py

๋ฐฑ์ค€

  • Baekjoon/suyeon/ํด๋”๋ช…/๋ฌธ์ œ๋ฒˆํ˜ธ_๋ฌธ์ œ๋ช….py
  • Baekjoon/eugene/ํด๋”๋ช…/๋ฌธ์ œ๋ฒˆํ˜ธ_๋ฌธ์ œ๋ช….py
  • Baekjoon/jiwoo/ํด๋”๋ช…/๋ฌธ์ œ๋ฒˆํ˜ธ_๋ฌธ์ œ๋ช….py

์ผ์ •ํ‘œ

1์ฐจ : ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ๊ณ ๋“์  Kit (ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค)

์ฃผ์ฐจ ํด๋”๋ช… ๋ฌธ์ œ 1 ๋ฌธ์ œ 2 ๋ฌธ์ œ 3 ์ง„ํ–‰ ํ˜„ํ™ฉ
1์ฃผ์ฐจ greedy ์กฐ์ด์Šคํ‹ฑ ํฐ ์ˆ˜ ๋งŒ๋“ค๊ธฐ ์ง„ํ–‰ ์™„๋ฃŒ
2์ฃผ์ฐจ brute_force ์†Œ์ˆ˜ ์ฐพ๊ธฐ ์นดํŽซ ์ง„ํ–‰ ์™„๋ฃŒ
3์ฃผ์ฐจ stack_queue ์ฃผ์‹๊ฐ€๊ฒฉ ํ”„๋ฆฐํ„ฐ ์ง„ํ–‰ ์™„๋ฃŒ
4์ฃผ์ฐจ dfs_bfs ๋„คํŠธ์›Œํฌ ๋‹จ์–ด ๋ณ€ํ™˜ ํƒ€๊ฒŸ ๋„˜๋ฒ„ ์ง„ํ–‰ ์™„๋ฃŒ
5์ฃผ์ฐจ hash ๋ฒ ์ŠคํŠธ์•จ๋ฒ” ์œ„์žฅ ์ „ํ™”๋ฒˆํ˜ธ ๋ชฉ๋ก ์ง„ํ–‰ ์™„๋ฃŒ
6์ฃผ์ฐจ sort H-Index K๋ฒˆ์งธ์ˆ˜ ๊ฐ€์žฅ ํฐ ์ˆ˜ ์ง„ํ–‰ ์™„๋ฃŒ
7์ฃผ์ฐจ binary_search ์ž…๊ตญ์‹ฌ์‚ฌ ์ง•๊ฒ€๋‹ค๋ฆฌ ์ง„ํ–‰ ์™„๋ฃŒ
8์ฃผ์ฐจ dynamic_programming N์œผ๋กœ ํ‘œํ˜„ ๋“ฑ๊ตฃ๊ธธ ์ •์ˆ˜ ์‚ผ๊ฐํ˜• ์ง„ํ–‰ ์™„๋ฃŒ
9์ฃผ์ฐจ heap ๋” ๋งต๊ฒŒ ๋””์Šคํฌ ์ปจํŠธ๋กค๋Ÿฌ ์ด์ค‘์šฐ์„ ์ˆœ์œ„ํ ์ง„ํ–‰ ์™„๋ฃŒ
10์ฃผ์ฐจ graph ๊ฐ€์žฅ ๋จผ ๋…ธ๋“œ ๋ฐฉ์˜ ๊ฐœ์ˆ˜ ์ˆœ์œ„ ์ง„ํ–‰ ์™„๋ฃŒ

2์ฐจ : KAKAO BLIND RECRUITMENT (ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค)

์ฃผ์ฐจ ํด๋”๋ช… ๋ฌธ์ œ 1 ๋ฌธ์ œ 2 ๋ฌธ์ œ 3 ์ง„ํ–‰ ํ˜„ํ™ฉ
11์ฃผ์ฐจ 2021_kakao_blind ์‹ ๊ทœ ์•„์ด๋”” ์ถ”์ฒœ ๋ฉ”๋‰ด๋ฆฌ๋‰ด์–ผ ์ˆœ์œ„ ๊ฒ€์ƒ‰ ์ง„ํ–‰ ์™„๋ฃŒ
12์ฃผ์ฐจ 2020_kakao_blind ๋ฌธ์ž์—ด ์••์ถ• ๊ด„ํ˜ธ ๋ณ€ํ™˜ ์ž๋ฌผ์‡ ์™€ ์—ด์‡  ์ง„ํ–‰ ์™„๋ฃŒ
13์ฃผ์ฐจ 2019_kakao_blind ์˜คํ”ˆ์ฑ„ํŒ…๋ฐฉ ์‹คํŒจ์œจ ํ›„๋ณดํ‚ค ์ง„ํ–‰ ์™„๋ฃŒ
14์ฃผ์ฐจ 2018_kakao_blind ๋‰ด์Šค ํด๋Ÿฌ์Šคํ„ฐ๋ง ์บ์‹œ ํ”„๋ Œ์ฆˆ4๋ธ”๋ก ์ง„ํ–‰ ์™„๋ฃŒ

3์ฐจ: ์ž์œจ ๋ฌธ์ œ์ง‘ (๋ฐฑ์ค€)

์ฃผ์ฐจ ํด๋”๋ช… ๋ฌธ์ œ1 ๋ฌธ์ œ2 ๋ฌธ์ œ3 ์ง„ํ–‰ ํ˜„ํ™ฉ
15์ฃผ์ฐจ 15_week ๋ถ€๋“ฑํ˜ธ ์ตœ์†Ÿ๊ฐ’ ๋น—๋ฌผ ์ง„ํ–‰ ์™„๋ฃŒ
16์ฃผ์ฐจ 16_week ๊ตฌ๊ฐ„ ๊ณฑ ๊ตฌํ•˜๊ธฐ ์Šคํƒ€ํŠธ์™€ ๋งํฌ ์ง„ํ–‰ ์™„๋ฃŒ
17์ฃผ์ฐจ 17_week ์ตœ์†Œ ์ŠคํŒจ๋‹ ํŠธ๋ฆฌ ํ‡ด์‚ฌ ์ง„ํ–‰ ์™„๋ฃŒ
18์ฃผ์ฐจ 18_week ํ–‰๋ณต ์œ ์น˜์› ๊ทน์žฅ ์ขŒ์„ ์ง„ํ–‰ ์™„๋ฃŒ
19์ฃผ์ฐจ 19_week ์ง€๊ตฌ ์˜จ๋‚œํ™” ์ง„ํ–‰ ์™„๋ฃŒ
20์ฃผ์ฐจ 20_week 2xn ํƒ€์ผ๋ง 2 LCS ์†Œํ˜•๊ธฐ๊ด€์ฐจ ์ง„ํ–‰ ์™„๋ฃŒ
21์ฃผ์ฐจ 21_week ์น˜ํ‚จ ๋ฐฐ๋‹ฌ ์ฒ ๋ฒฝ ๋ณด์•ˆ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ง„ํ–‰ ์™„๋ฃŒ
22์ฃผ์ฐจ 22_week ๋น™๊ณ  ๋งˆ๋ฒ•์‚ฌ ์ƒ์–ด์™€ ํ† ๋„ค์ด๋„ ์ง„ํ–‰ ์™„๋ฃŒ
23์ฃผ์ฐจ 23_week ์—ฐ๊ตฌ์†Œ ๋ฐ”์ด๋Ÿฌ์Šค ์ง„ํ–‰ ์™„๋ฃŒ

4์ฐจ: ํƒ€์ž„ ์–ดํƒ ๋ฌธ์ œ ํ’€์ด (ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค) & ์ž์œจ ๋ฌธ์ œ์ง‘ (๋ฐฑ์ค€)

์ฃผ์ฐจ ํด๋”๋ช… ํƒ€์ž„์–ดํƒ ๋ฌธ์ œ1 ์ž์œจ ๋ฌธ์ œ1 ์ง„ํ–‰ ํ˜„ํ™ฉ
24์ฃผ์ฐจ 24_week ์ˆซ์ž ๋ฌธ์ž์—ด๊ณผ ์˜๋‹จ์–ด ์ง„ํ–‰ ์™„๋ฃŒ
25์ฃผ์ฐจ 25_week ๊ฑฐ๋ฆฌ๋‘๊ธฐ ํ™•์ธํ•˜๊ธฐ ๋‹จ์–ด์ˆ˜ํ•™ ์ง„ํ–‰ ์™„๋ฃŒ
26์ฃผ์ฐจ 26_week ์ˆ˜์‹ ์ตœ๋Œ€ํ™” ์ง„ํ–‰ ์™„๋ฃŒ
27์ฃผ์ฐจ 27_week ํŠœํ”Œ ์ง„ํ–‰ ์™„๋ฃŒ
28์ฃผ์ฐจ 28_week ํŒŒ์ผ๋ช… ์ •๋ ฌ ์ง„ํ–‰ ์™„๋ฃŒ
29์ฃผ์ฐจ 29_week n์ง„์ˆ˜ ๊ฒŒ์ž„ ์ง„ํ–‰ ์™„๋ฃŒ
30์ฃผ์ฐจ 30_week ์ฃผ์ฐจ ์š”๊ธˆ ๊ณ„์‚ฐ ์ง„ํ–‰ ์™„๋ฃŒ
31์ฃผ์ฐจ 31_week k์ง„์ˆ˜์—์„œ ์†Œ์ˆ˜ ๊ฐœ์ˆ˜ ๊ตฌํ•˜๊ธฐ ์ง„ํ–‰ ์™„๋ฃŒ
32์ฃผ์ฐจ 32_week ๋ฉ€์ฉกํ•œ ์‚ฌ๊ฐํ˜• ์ง„ํ–‰ ์™„๋ฃŒ
33์ฃผ์ฐจ 33_week ๋ถˆ๋Ÿ‰ ์‚ฌ์šฉ์ž ์ง„ํ–‰ ์™„๋ฃŒ
34์ฃผ์ฐจ 34_week ๋ฐฉ๊ธˆ๊ทธ๊ณก ์ง„ํ–‰ ์™„๋ฃŒ
35์ฃผ์ฐจ 35_week ๋ชจ์Œ์‚ฌ์ „ ์ง„ํ–‰ ์™„๋ฃŒ
36์ฃผ์ฐจ 36_week n^2 ๋ฐฐ์—ด ์ž๋ฅด๊ธฐ ์ง„ํ–‰ ์™„๋ฃŒ
37์ฃผ์ฐจ 37_week ํ”ผ๋กœ๋„ ์ง„ํ–‰ ์™„๋ฃŒ
38์ฃผ์ฐจ 38_week ๊ต์ ์— ๋ณ„ ๋งŒ๋“ค๊ธฐ ์ง„ํ–‰ ์™„๋ฃŒ
39์ฃผ์ฐจ 39_week ์‚ผ๊ฐ๋‹ฌํŒฝ์ด ํ† ๋งˆํ†  ์ง„ํ–‰ ์™„๋ฃŒ
40์ฃผ์ฐจ 40_week ๋น›์˜ ๊ฒฝ๋กœ ์‚ฌ์ดํด ์ง„์šฐ์˜ ๋ฏผํŠธ์ดˆ์ฝ”์šฐ์œ  ์ง„ํ–‰ ์™„๋ฃŒ
41์ฃผ์ฐจ 41_week ๊ทธ๋ฆผ ์ง„ํ–‰ ์™„๋ฃŒ
42์ฃผ์ฐจ 42_week ์ ํ”„์™€ ์ˆœ๊ฐ„์ด๋™ ๋„คํŠธ์›Œํฌ ์—ฐ๊ฒฐ ์ง„ํ–‰ ์™„๋ฃŒ
43์ฃผ์ฐจ 43_week ์Šคํ‚ฌํŠธ๋ฆฌ ๋กœ๋ด‡์ฒญ์†Œ๊ธฐ ์ง„ํ–‰ ์™„๋ฃŒ
44์ฃผ์ฐจ 44_week ์–‘๊ณผ ๋Š‘๋Œ€ ๋ฒฝ ๋ถ€์ˆ˜๊ณ  ์ด๋™ํ•˜๊ธฐ ์ง„ํ–‰ ์™„๋ฃŒ
45์ฃผ์ฐจ 45_week ์นด๋“œ ์ง ๋งž์ถ”๊ธฐ ์ผ๋ฃจ๋ฏธ๋„ค์ด์…˜ ์ง„ํ–‰ ์™„๋ฃŒ
46์ฃผ์ฐจ 46_week 2๊ฐœ ์ดํ•˜๋กœ ๋‹ค๋ฅธ ๋น„ํŠธ ํƒˆ์ถœ ์ง„ํ–‰ ์™„๋ฃŒ
47์ฃผ์ฐจ 47_week 110 ์˜ฎ๊ธฐ๊ธฐ ํ‰๋ฒ”ํ•œ ๋ฐฐ๋‚ญ ์ง„ํ–‰ ์™„๋ฃŒ
48์ฃผ์ฐจ 48_week ๋ฐฐ๋‹ฌ ์ƒ์ž ๋ฐฐ๋‹ฌ ์ง„ํ–‰ ์™„๋ฃŒ
49์ฃผ์ฐจ 49_week ํ‡ด์‚ฌ 2 ๋“œ๋ž˜๊ณค ์ปค๋ธŒ ์ง„ํ–‰ ์™„๋ฃŒ
50์ฃผ์ฐจ 50_week ๊ธฐ๋Šฅ ๊ฐœ๋ฐœ ์ง„ํ–‰ ์™„๋ฃŒ
51์ฃผ์ฐจ 51_week ๋‘ ํ ํ•ฉ ๊ฐ™๊ฒŒ ๋งŒ๋“ค๊ธฐ ์ˆจ๋ฐ”๊ผญ์งˆ 2 ์ง„ํ–‰ ์™„๋ฃŒ
52์ฃผ์ฐจ 52_week ์ „๋ ฅ๋ง์„ ๋‘˜๋กœ ๋‚˜๋ˆ„๊ธฐ N๋ฒˆ์งธ ํฐ ์ˆ˜ ์ง„ํ–‰ ์™„๋ฃŒ
53์ฃผ์ฐจ 53_week ๋ฑ€ JadenCase ๋ฌธ์ž์—ด ๋งŒ๋“ค๊ธฐ ์ง„ํ–‰ ์™„๋ฃŒ
54์ฃผ์ฐจ 54_week ํŠธ๋ฆฌ์˜ ๋…๋ฆฝ์ง‘ํ•ฉ 124 ๋‚˜๋ผ์˜ ์ˆซ์ž ์ง„ํ–‰ ์™„๋ฃŒ
55์ฃผ์ฐจ 55_week ์–‘๊ถ๋Œ€ํšŒ ์ง„ํ–‰ ์™„๋ฃŒ