๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
Coding Test ์ฝ”๋”ฉํ…Œ์ŠคํŠธ

Do it ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ํ•˜๋ฃจ์ฝ”๋”ฉ 1์žฅ ์‹œ๊ฐ„๋ณต์žก๋„ ์ด๋ก 

by ๋น„์†Œ์•ผ 2022. 11. 12.
728x90

#1 ์‹œ๊ฐ„ ๋ณต์žก๋„ java

์•Œ๊ณ ๋ฆฌ์ฆ˜ ์„ ํƒ์˜ ๊ธฐ์ค€์ด ๋˜๋Š” ์‹œ๊ฐ„ ๋ณต์žก๋„ (by์†Œ๊ฑฐ๋ฒ•)

 

์‹œ๊ฐ„๋ณต์žก๋„ == ์ˆ˜ํ–‰์‹œ๊ฐ„ == ์—ฐ์‚ฐํšŸ์ˆ˜

์ž๋ฐ” 1์ดˆ == 1์–ต๋ฒˆ

 

์‹œ๊ฐ„๋ณต์žก๋„ ์œ ํ˜•

1. ๋น…์˜ค๋ฉ”๊ฐ€: ์ตœ์„ (best case)์ผ ๋•Œ ์—ฐ์‚ฐ ํšŸ์ˆ˜, ์ฆ‰ 1

2. ๋น…์„ธํƒ€: ๋ณดํ†ต(average case)์ผ ๋•Œ ์—ฐ์‚ฐ ํšŸ์ˆ˜, ์ฆ‰ N/2

3. ๋น…์˜ค: ์ตœ์•…(worst case)์ผ ๋•Œ ์—ฐ์‚ฐ ํšŸ์ˆ˜, ์ฆ‰ N

 

์ฝ”๋”ฉํ…Œ์ŠคํŠธ์—์„œ๋Š” ์–ด๋–ค ์‹œ๊ฐ„ ๋ณต์žก๋„ ์œ ํ˜•์„ ์‚ฌ์šฉํ•ด์•ผ ํ• ๊นŒ?

๋น…์˜ค ํ‘œ๊ธฐ๋ฒ•

๋‹ค์–‘ํ•œ ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค๋ฅผ ์ˆ˜ํ–‰ํ•ด ๋ชจ๋‘ ํ†ต๊ณผํ•ด์•ผ ํ•˜๋ฏ€๋กœ

 

๋ฐ์ดํ„ฐ์˜ ํฌ๊ธฐ ์ฆ๊ฐ€์— ๋”ฐ๋ฅธ ์ˆ˜ํ–‰์‹œ๊ฐ„ ์ฆ๊ฐ€์œจ

O(1)

O(logn)

O(n)

O(nlogn)

O(n^2)

O(n^3)

O(2^n)

O(n!)

 

์—ฐ์‚ฐํšŸ์ˆ˜ ๊ณ„์‚ฐ๋ฐฉ๋ฒ•

์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ์‹œ๊ฐ„๋ณต์žก๋„์— ๋ฐ์ดํ„ฐ์˜ ์ตœ๋Œ€ ํฌ๊ธฐ N ๋Œ€์ž…

ex) O(n^2) ์˜ ์‹œ๊ฐ„๋ณต์žก๋„์ธ ์•Œ๊ณ ๋ฆฌ์ฆ˜์œผ๋กœ ๋ฐ์ดํ„ฐ์˜ ์ตœ๋Œ€ํฌ๊ธฐ๊ฐ€ 100์ธ ํ”„๋กœ๊ทธ๋žจ์˜ ์—ฐ์‚ฐํšŸ์ˆ˜๋Š” O(100^2)

 

์‹œ๊ฐ„๋ณต์žก๋„ ๋„์ถœ ์›๋ฆฌ

1. ์ƒ์ˆ˜ ์ œ์™ธ

2. ๊ฐ€์žฅ ๋งŽ์ด ์ค‘์ฒฉ๋œ ๋ฐ˜๋ณต๋ฌธ ๋“ฑ ์ฆ‰, ์ƒํ•ญ(๊ฐ€์žฅ ๋น ๋ฅด๊ฒŒ ์ฆ๊ฐ€ํ•˜๋Š” ํ•ญ)๋งŒ์„ ๊ณ ๋ ค

ex)

3N == N

N^2 + N + 3 == N^2

 

์‹œ๊ฐ„ ์ดˆ๊ณผ๊ฐ€ ๋ฐœ์ƒํ•  ๋•Œ

1. ์•Œ๋งž์€ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์„ ํƒํ•˜์˜€๋Š”์ง€?

2. ๋น„ํšจ์œจ์ ์ธ ๋กœ์ง ๊ฐœ์„ 

 

#2 ์‹œ๊ฐ„๋ณต์žก๋„ python

ํŒŒ์ด์ฌ 1์ดˆ == 2์ฒœ๋งŒ๋ฒˆ

728x90