2021-03-20(Sat)
ํญ๋ชฉ | ๋ด์ฉ |
ํ์ต ๋ ์ง | 2021-03-20(ํ ) |
ํ์ต ์๊ฐ | 11:00~24:00 |
ํ์ต ๋ฒ์ ๋ฐ ์ฃผ์ | ๋น ์ค, python |
ํ์ต ๋ชฉํ | ๋น ์ค์ python์ ํท๊ฐ๋ฆฌ๋ ๋ถ๋ถ์ ํ์ ํ๋ค. |
๋๋ฃ ํ์ต ๋ฐฉ๋ฒ | - |
์์ธ ํ์ต ๋ด์ฉ
์ฝ๋ฉํ ์คํธ ๋ฌธ์ ๋ฅผ ํ๋ ์ค ์๊ฐ๋ณต์ก๋๊ฐ ์ ๋งคํ ์ง์ ์ด ์์ด์ ๋ค์ ํ๋ฒ ํ์ต์ ์งํํ์๋ค. ์ดํ ํ๋ก๊ทธ๋๋จธ์ค ์ฝ๋ฉํ ์คํธ ์ฐ์ต์ ํด์, ์คํ ๋ฌธ์ ๋ฅผ ํ์๋ค.
์๊ฐ ๋ณต์ก๋๋?
์๊ณ ๋ฆฌ์ฆ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํ ์๊ฐ(์ฐ์ฐ)์ ํ์๋ฅผ ๋งํ๋ค. ์๊ณ ๋ฆฌ์ฆ์ '์๊ฐ๊ณผ ๊ณต๊ฐ์ด ํธ๋ ์ด๋์คํ' ๊ด๊ณ์ด๊ธฐ ๋๋ฌธ์, ์ํ์๊ฐ๊ณผ ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋์ ํ๊ฐ๊ธฐ์ค์ผ๋ก ๋๋ค.
์๊ฐ ๋ณต์ก๋(Time Complexity): ์ํ์๊ฐ์ ํด๋น
๊ณต๊ฐ ๋ณต์ก๋(Space Complexity): ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋์ ํด๋น
์ ๋ณต์ก๋๋ค์ ์ ๋ ฅ์ ํฌ๊ธฐ๊ฐ ์ถฉ๋ถํ ํด ๋ ์๋ฏธ์๋ค.
๋น
์ค
๋น ์ค(O, big-O)๋ ์ ๋ ฅ๊ฐ์ด ๋ฌดํ๋๋ก ํฅํ ๋ ํจ์์ ์ํ์ ์ค๋ช ํ๋ ์ํ์ ํ๊ธฐ ๋ฐฉ๋ฒ์ด๋ค.
๋น ์ค๋ ๊ฐ์ฅ ๋ฆ๊ฒ ์คํ๋ ๋, ์ฆ ์ํ(Upper Bound)์ ์๋ฏธํ๋ค. ์ด์ธ์๋ ๊ฐ์ฅ ๋นจ๋ฆฌ ์คํ๋ ๋, ์ฆ ํํ(Lower Bound)์ ๋ํ๋ด๋ ๋น ์ค๋ฉ๊ฐ, ํ๊ท ์ ์๋ฏธํ๋ ๋น ์ธํ๊ฐ ์๋๋ฐ, ๋ณดํต ํ๊ท ์ ์ธ ์๊ฐ๋ณด๋ค๋ ์ํ ์๊ฐ์ผ๋ก ๋จ์ํํด์ ์ฃผ๋ก ํํํ๋ค.
์ํ์ ์ต์ ์ ๊ฒฝ์ฐ์ ํผ๋ํ์ง ๋ง์. ๋น ์ค ํ๊ธฐ๋ฒ์ ์ ํํ๊ฒ ์ฐ๊ธฐ์๋ ๋๋ฌด ๊ธธ๊ณ ๋ณต์กํ ํจ์๋ฅผ '์ ๋นํ ์ ํํ๊ฒ' ํํํ๋ ๋ฐฉ๋ฒ์ผ ๋ฟ, ์ต์ ์ ๊ฒฝ์ฐ/ํ๊ท ์ ์ธ ๊ฒฝ์ฐ์ ์๊ฐ ๋ณต์ก๋์๋ ์๋ฌด๋ฐ ๊ด๊ณ๊ฐ ์๋ ๊ฐ๋ ์ด๋ผ๋ ์ ์ ์ ์ํด์ผ ํ๋ค. ์ต์ ์ ๊ฒฝ์ฐ์๋ ์ํ์ด ์กด์ฌํ๊ณ , ์ญ์ ํ๊ท , ์ต์ ์ ๊ฒฝ์ฐ์๋ ์ํ์ด ์กด์ฌํ๋ค. ๋น ์ค ํ๊ธฐ๋ฒ์ ์ฃผ์ด์ง(์ต์ /์ต์ /ํ๊ท ) ๊ฒฝ์ฐ์ ์ํ ์๊ฐ์ ์ํ์ ๋ํ๋ธ๋ค.
๋ถํ ์ํ ๋ถ์
๋น ์ค์ ํจ๊ป ํจ์์ ๋์์ ์ค๋ช ํ ๋ ์ค์ํ ๋ถ์ ๋ฐฉ๋ฒ ์ค ํ๋์ด๋ค. ์๊ฐ ๋๋ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๋ถ์ํ๋ ์๊ณ ๋ฆฌ์ฆ์ ๋ณต์ก๋๋ฅผ ๊ณ์ฐํ ๋, ์๊ณ ๋ฆฌ์ฆ ์ ์ฒด๋ฅผ ๋ณด์ง ์๊ณ ์ต์ ์ ๊ฒฝ์ฐ๋ง์ ์ดํด๋ณด๋ ๊ฒ์ ์ง๋์น๊ฒ ๋น๊ด์ ์ด๋ผ๋ ์ด์ ๋ก ๋ถํ ์ํ ๋ถ์ ๋ฐฉ๋ฒ์ด ๋ฑ์ฅํ๋ ๊ณ๊ธฐ๊ฐ ๋๋ค. ๊ฐ๋ น '๋์ ๋ฐฐ์ด'์ ๊ฒฝ์ฐ ๋๋ธ๋ง์ด ์ผ์ด๋๋ ์ผ์ ์ด์ฉ๋ค ํ ๋ฒ๋ฟ์ด์ง๋ง, ์ด๋ก ์ธํด '์์ดํ ์ฝ์ ์ ์๊ฐ ๋ณต์ก๋๋ O(n)์ด๋ค.'๋ผ๊ณ ์๊ธฐํ๋ ๊ฑด ์ง๋์น๊ฒ ๋น๊ด์ ์ด๊ณ ์ ํํ์ง๋ ์๋ค. ๋ถํ ์ํ์ ์ต์ ์ ๊ฒฝ์ฐ๋ฅผ ์ฌ๋ฌ ๋ฒ์ ๊ฑธ์ณ ๊ณจ๊ณ ๋ฃจ ๋๋ ์ฃผ๋ ํํ๋ก ์๊ณ ๋ฆฌ์ฆ์ ์๊ฐ ๋ณต์ก๋๋ฅผ ๊ณ์ฐํ ์ ์๋ค.
์ ์ด์ ํ์ด์ฌ ์ฐ์ฐ๋ค์ ์๊ฐ ๋ณต์ก๋๋ฅผ ํ์ธํด๋ณด์.
๋ฆฌ์คํธ
์ฐ์ฐ | ์๊ฐ ๋ณต์ก๋ |
len(a) | O(1) |
a[i] | O(1) |
a[i:j] | O(j-i) |
elem in a | O(n) |
a.count(elem) | O(n) |
a.index(elem) | O(n) |
a.append(elem) | O(1) |
a.pop() | O(1) |
a.pop(0) | O(n) |
del a[i] | O(n) |
a.sort() | O(nlogn) |
min(a), max(a) | O(n) |
a.reverse() | O(n) |
๋์
๋๋ฆฌ
์ฐ์ฐ | ์๊ฐ ๋ณต์ก๋ |
len(a) | O(1) |
a[key] | O(1) |
a[key] = value | O(1) |
key in a | O(1) |
๋ฌผ๋ก ์ต์ ์ ๊ฒฝ์ฐ์ O(n)์ด ๋ ์ ์๋ค.
ํ์ต ๋ด์ฉ์ ๋ํ ๊ฐ์ธ์ ์ธ ์ดํ
์ฝ๋ฉ ํ ์คํธ ๋ฌธ์ ๋ฅผ ํธ๋๊ฒ ์ฆ๊ฒ๋ค. ๊ทธ ๋์ ํ๋ก์ ํธ๋ฅผ ํ๋๋ผ ๊พธ์คํ ํ์ง ๋ชปํ๋๋ฐ ์ด์ ๋ ์ ๋ง ๋งค์ผ ๋ฌธ์ ๋ฅผ ํ์ด์ผ๊ฒ ๋ค :) python ๋ฉ์๋๋ค์ด ๋๋ฌด ํธํ๊ณ ๋ด๋ถ ๋์๋ ์์ธก์ ๋์ง๋ง ์๊ฐ ๋ณต์ก๋๋ฅผ ์ ํํ ๊พ๊ณ ์๋ ๋๋์ด ๋ค์ง ์์๋ค. ์ ์ด์ ์๊ฐ ๋ณต์ก๋๋ ๋ญ์ง? ๋ด๊ฐ ์ ๋ง ์ ๋๋ก ๋ต๋ณํ ์ ์๋? ํ๋ ์๋ฌธ์ด ๋ค์ด์ ๋ค์ ํ์ตํ๋๋ฐ ๋ง์กฑ์ค๋ฝ๋ค. ์ด๋ฐ์์ผ๋ก ๋ด๊ฐ ๋ชจ๋ฅด๋ ๋ถ๋ถ์ ๋ค์๊ธ ๋์๋ณด๊ณ ์ ๋๋ก ํ์ตํด ๋๊ฐ์ผ๊ฒ ๋ค.
๋ค์ ํ์ต ๊ณํ
๋์์ธํจํด ํ์ต
Last updated