์ฝ๋ฉ ํ ์คํธ๋ฅผ ์ค๋นํ๊ธฐ ์ํด์ ์ฐ์ ์ด๋ค ์ธ์ด๋ก ์ํ์ ์น ๊ฑด์ง ๊ฒฐ์ ์ ํด์ผ ํ๋ค
C++๊ณผ ํ์ด์ฌ ์ค ๊ณ ๋ฏผ์ ํ๋ค๊ฐ ๊ต์๋๊ป์ ์ถ์ฒํด์ฃผ์ ์ฑ ์ธ 'ํ์ด์ฌ ์๊ณ ๋ฆฌ์ฆ ์ธํฐ๋ทฐ'๋ฅผ ๊ณต๋ถํ ๊ฒธ ํ์ด์ฌ์ผ๋ก ์ฝํ ์ค๋น๋ฅผ ์์ํ๊ธฐ๋ก ํ๋ค
์์ผ๋ก ์ด ์ฑ ์ผ๋ก ์๊ณ ๋ฆฌ์ฆ ๊ณต๋ถ๋ฅผ ํ ์์ ์ด๋ค ><
ํ์ด์ฌ์ 1ํ๋ 1ํ๊ธฐ ๋ ์กฐ๊ฑด๋ฌธ, ๋ฐ๋ณต๋ฌธ, ํจ์ ์ ๋ ์ ์ ๋ค๋ค๋ณธ ๊ฒ ๋ค๋ผ์ ์ด๋ฒ ๋ฐฉํ ๋ ์ด์ฌํ ์ค๋นํด์ผ๊ฒ ๋ค!
์ผ๋จ ์ํ์ด๋(♥) ๋งค์ฃผ ์ต์ 4๋ฌธ์ ์ฉ ์ฑ ์ ์๋ ๋ฌธ์ ๋ฅผ ํ์ด๋ณด๊ธฐ๋ก ํ๋๋ฐ ๊ทธ์ ์ ์์ ๋ง์ ๋ด์ฉ๋ค์ด ์๊ธธ๋ ์ค๋ ์ฝ์ด๋ณด๊ธฐ๋ก ํ๋ค
์ฑ ์ ์ฝ๋ ๋์ค ๋์ถฉ ์ค์ํ ๋ถ๋ถ์ ์ ๋ฆฌํด์ผ ํ ๊ฒ ๊ฐ์์ ํฐ์คํ ๋ฆฌ๋ฅผ ์ผฐ๋ค
์ฐ์ ,,, ๊ฐ ๊ธฐ์ ๋ง๋ค ์ด๋ค ์ฝ๋ฉ ํ ์คํธ ํ๋ซํผ์ ์ฐ๋์ง, ๊ทธ๋ฆฌ๊ณ ์ ํ์ด์ฌ์ด ์ฝํ ๋ฅผ ์ํ ๊ฐ์ฅ ์ข์ ์ธ์ด์ธ์ง ๋์์๋ค
(C์ธ์ด๋ง 2๋ ๋์ ๊ณต๋ถํ ๋์๊ฒ,,, C++ ์ด ์กฐ๊ธ์ด๋ผ๋ ๋ ์ต์ํ์ง๋ง ใ ใ ใ ใ )
C์ธ์ด๋ง ํ๋ค๊ฐ ๊ฐ์๊ธฐ ํ์ด์ฌ์ผ๋ก ๋์ด์ค๋๊น ์๊พธ ;๋ฅผ ์น๊ฒ ๋๊ณ ๋ฌธ๋ฒ๋ ๋๋ฌด ํท๊ฐ๋ฆฐ๋ค!!!!
ํ์ด์ฌ,,, ํจ ํด๋ณด์ง ๋จธ~~
์ง๊ธ๋ถํฐ ์ค๋ ๋ด๊ฐ ์ฑ ์ ์ฝ์ผ๋ฉด์ ์ ํํ๊ฒ ์ดํด๊ฐ ๋์๊ณ , ์์ผ๋ก ๊ธฐ์ตํ๊ณ ์ถ์ ๊ฒ๋ค๋ง ์ ๋ฆฌํ ๊ฒ์ด๋ค.
์ฌ๊ธฐ์ ์ฝ๋ ์ ๋ ฅํ๊ณ ํ ์คํธ ์ผ์ด์ค๋ฅผ ์คํ์์ผ๋ณผ ์ ์๋ค๊ณ ํ๋ค
https://github.com/onlybooks/algorithm-interview
์ฌ๊ธฐ์ ๋ชจ๋ ๋ฌธ์ ์ ํ์ด ์ฝ๋๋ฅผ ๋ค์ด๋ก๋ํ ์ ์๋ค
๋ค์ด๋ฐ ์ปจ๋ฒค์
ํ์ด์ฌ์ ๋ณ์๋ช ๋ค์ด๋ฐ ์ปจ๋ฒค์ ์ ์ค๋ค์ดํฌ ์ผ์ด์ค๋ฅผ ๋ฐ๋ฅธ๋ค.
์ค๋ค์ดํฌ ์ผ์ด์ค๋ ๊ฐ ๋จ์ด๋ฅผ ๋ฐ์ค( _ )๋ก ๊ตฌ๋ถํ์ฌ ํ๊ธฐํ๋ค.
๋๋ C์ธ์ด๋ก ์ฝ๋ฉ์ ํ๋ฉฐ ๋ณ์๋ช ์ ์ ํ ๋ ์ง๊ธ๊ป ์นด๋ฉ ์ผ์ด์ค๋ฅผ ๋ฐ๋ฅด๊ณ ์์๋ค
(์ด์ ๋ถํฐ ํ์ด์ฌ์ผ๋ก ์ฝ๋ฉ์ ํ ๋ ์ค๋ค์ดํฌ ์ผ์ด์ค๋ก ๋ณ์๋ช ๋ค์ด๋ฐ ํ๊ธฐ!!!!)
ํ์ ํํธ
ํ์ด์ฌ์ ํ์ ์ ๋ช ์ํ์ง ์์๋ ๋์ง๋ง ํ์ ํํธ๋ฅผ ์ฌ์ฉํ์ฌ ์ฝ๋๋ฅผ ๋ ์ดํดํ๊ธฐ ์ฝ๊ฒ ๋ํ๋ผ ์๋ ์๋ค
๋ณ์๋ช : int -> ์ด๋ฐ ์
** ํ์ ํํธ์ ์ค๋ฅ๊ฐ ์๋์ง ์๋์ผ๋ก ํ์ธํ๋ ค๋ฉด $ pip install mypy๋ฅผ ์ฌ์ฉํ๋ฉด ๋๋ค**
(-> ์ด๊ฑฐ ์ ์จ๋ณธ ๊ธฐ์ต์ด ์์ง,,??)
์๊ฐ ๋ณต์ก๋ Time Complexity
์ด๋ฒ ์๊ณ ๋ฆฌ์ฆ ๋ฐ ์ค์ต ์๊ฐ์ ๋ฌดํจ๋ง๋ ๊ต์๋๊ป์ ๋งค์ฐ๋งค์ใ ์ฐ ์ค์ํ๊ฒ ์ฌ๊ธฐ์ จ๋ ^^ Big-O ํ๊ธฐ๋ฒ^^์ ์ด๋ฏธ ๋ณ๋๋ก ๋ณด๊ณ ๊ณต๋ถํ๊ธฐ ๋๋ฌธ์ ์์ธํ๊ฒ ์ ๋ฆฌํ์ง ์์ ๊ฒ์ด๋ค
(๋ด๊ฐ ์๊ณ ๋ฆฌ์ฆ ์ํ ๊ณต๋ถํ๋ฉด์ ํ๊ธฐํด๋๋ ๊ฒ๋ค ๋ค ์ฌ๋ ค์ผ์ง><!!!!! A+ ๋ฐ์์ ๊ธฐ๋ถ ์ข์ผ๋๊น ใ ใ ใ )
์์)- ๊ดํธ ์์ ๋ถ๋ถ์ ์๊ณ ๋ฆฌ์ฆ ์๊ฐ์ ๋ด๊ฐ ๋ฐ๋ก ๋ฐฐ์ ๋ ๊ฒ๋ค์ด๋ค (์ต์ ์ ๊ฒฝ์ฐ ์ ์ธํจ)
O(1)- ํด์ ํ ์ด๋ธ
O(log n)- ์ด์ง ๊ฒ์(AVL tree, splay tree, red-black tree)
O(n)- ์ ํ ์๊ฐ(์ด๋ฏธ ์ ๋ ฌ๋์ด์๋ ๊ฒฝ์ฐ insertion sort)
O(n log n)- ๋ณํฉ ์ ๋ ฌ(merge sort, quick sort)
O(n^2)- ๋ฒ๋ธ ์ ๋ ฌ(insertion sort, selection sort)
O(2^n)- ํผ๋ณด๋์น
O(n!)- ์ธํ์ ๋ฌธ์
๊ทธ๋ฆฌ๊ณ Big-O ํ๊ธฐ๋ฒ ๋ง๊ณ ๋ ๋น ์ค๋ฉ๊ฐ, ๋น ์ธํ์ ๊ฐ์ ํ๊ธฐ๋ฒ๋ค์ด ์๋ค.
+
range(): ์ด๊ฑด ๋ฐ๋ณต๋ฌธ ์ธ ๋ for i in range(1, 10+1): ์ด๋ฐ ์์ผ๋ก ์์ฃผ ์จ๋ณธ ๊ธฐ์ต์ด ์๋๋ฐ ๋ ๋ง์ ์ํฉ์ ์ฐ์ผ ์ ์๋ ๊ฒ ๊ฐ๋ค.
enumerate(): ์ด๊ฑฐํ๋ ํจ์์ธ๋ฐ ์ธ๋ฑ์ค๋ฅผ ์๋์ผ๋ก ๋ถ์ฌํด์ค๋ค
๋๋์ ์ฐ์ฐ์๊ฐ ํ์ด์ฌ์์ // ์ผ ๋ ์ ์ํ์ ์ ์งํ๊ณ / ์ผ ๋ ์ค์ํ์ ์ ์งํ๋ค
print(): (์ !!!! ์ด๊ฒ ์ ค ํท๊ฐ๋ ค ์๊พธ ์๋ฌด ์๊ฐ ์์ด ์ถ๋ ฅํ๋ ค๊ณ ํ ๋ printf๋ฅผ ์จ๋ฒ๋ คใ )
pass: ๋ ์ฐ์ฐ, ์๋ฌด๊ฒ๋ ํ์ง ์๋ ๊ธฐ๋ฅ
๋ฆฌ์คํธ ์ปดํ๋ฆฌํจ์ : ๋ ์์ง ์ด ๊ธฐ๋ฅ์ ๋ชจ๋ฅด์ง๋ง ๊ฐ๋ ์ฑ์ ์ํด ์ค ๋ฐ๊ฟ์ ํ๋ ๊ฒ์ด ์ค์ํ๋ค
์ค๋ ์ฑ ์ ์ฝ์ผ๋ฉฐ ๋๋ ์
ํ์ด์ฌ๊ณผ C์ธ์ด๋ ์ ๋ง ๋ค๋ฅด๋ค,,,
ํ์ด์ฌ ํ ํ๊ธฐ ๋์ ๋ฐฐ์์ ๊ทธ๋๋ ์ด๋ ์ ๋ ์๋ ์ค ์์๋๋ฐ,,, ์ ํ??? ์ด๋ฉด์ธ ๊ธฐ๋ถ,,
์ค๋ค์ดํฌ ์ผ์ด์ค๋ก ๋ณ์๋ช ์ ํ๊ธฐ (select_min, insert_node ์ด๋ฐ ๋๋??)
๋๋ ๋ง์ ์ฌ๋์ด ์ฝ๊ฒ ์ดํดํ ์ ์๋ ์ข์ ์ฝ๋๋ฅผ ์ง๊ณ ์ถ๋ค!
๋ณ์๋ช ์ด์๊ฒ ์๋ฏธ ๋ถ์ฌ + ๊ฐ๋จํ ์ฃผ์
(๋งจ๋ a, b, c, i, j, cnt, CNT ๋ง ์ฐ๋ ๋,,,, ์์ผ๋ก ์ ๋ ์ ๊ทธ๋ฐ๋ค)
'c o d i n g . . ๐ > Python' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[pandas + openpyxl] excel ํ์ผ ๋ค๋ฃจ๊ธฐ (1) | 2022.09.25 |
---|---|
[ํ๋ก๊ทธ๋๋จธ์ค] ํ์ด์ฌ ์ ๋ฌธ ๊ฐ์ (0) | 2021.01.16 |
์ฝ๋ฉ ํ ์คํธ ๊ณต๋ถ(2)-[ํ์ด์ฌ ์๊ณ ๋ฆฌ์ฆ ์ธํฐ๋ทฐ] (0) | 2020.12.23 |