Programming/์ž๋ฃŒ๊ตฌ์กฐ

[ํŒŒ์ด์ฌ] ๋ฐฐ์—ด

Hard_Try 2020. 3. 31. 21:04

๐Ÿค” ๋ฐฐ์—ด

 

C ๋ฐฐ์—ด

 

ํฌ๊ธฐ๊ฐ€ ๊ณ ์ •๋˜์–ด ์žˆ๋‹ค. (int numArray[4] ๋Š” 4์นธ์˜ ๊ณต๊ฐ„์„ ๋ฏธ๋ฆฌ ์˜ˆ์•ฝ, ์ด 16byte)

๊ฐ™์€ ํƒ€์ž…์˜ ๋ฐ์ดํ„ฐ๋งŒ ๋‹ด์„ ์ˆ˜ ์žˆ๋‹ค.

 

c ๋ฐฐ์—ด์ด ๋“ค์–ด๊ฐ€๋Š” ๋ฐฉ๋ฒ•
C ์–ธ์–ด ์ž๋ฆฌ ์„ ์ •๋ฒ• (์—ฐ์†์  ์ €์žฅ)

Python ๋ฐฐ์—ด

 

python ๋ฐฐ์—ด์ด ๋“ค์–ด๊ฐ€๋Š” ๋ฐฉ๋ฒ•

 

์ฃผ์†Œ๋ฅผ ์•Œ๊ณ ์žˆ์œผ๋ฉด ๋ฐฐ์—ด์— ์ ‘๊ทผํ•˜๋Š”๋ฐ ๊ฑธ๋ฆฌ๋Š” ์‹œ๊ฐ„์€ O(1)์ด๋ผ๋Š” ์ ์ด ๊ต‰์žฅํžˆ ํšจ์œจ์ ์ด๋‹ค.

 

๐Ÿค” ๋ฐฐ์—ดํƒ์ƒ‰

 

๋ฐฐ์—ด์•ˆ์—์„œ ์–ด๋–ค ๊ฐ’์„ ์ฐพ์„ ๋•Œ 0๋ฒˆ์งธ ๋ถ€ํ„ฐ ์ˆœ์„œ๋Œ€๋กœ ์ฐพ๋Š” ๊ฒƒ์„ ์„ ํ˜• ํƒ์ƒ‰์ด๋ผ๊ณ  ํ•œ๋‹ค.

๋ฐฐ์—ด์˜ ์ฒซ๋ฒˆ์งธ์— ์ฐพ๋Š” ๊ฐ’์ด ์žˆ์„๊ฒฝ์šฐ ๋น ๋ฅด์ง€๋งŒ ์—†๋Š” ๊ฒฝ์šฐ O(n)์˜ ์‹œ๊ฐ„์ด ๊ฑธ๋ฆฌ๊ฒŒ ๋œ๋‹ค.

๋ฐฐ์—ด์— ์ ‘๊ทผํ•˜๋Š” ๊ฒƒ์€ O(n)์œผ๋กœ ๋น ๋ฅผ์ง€์–ธ์ • ํƒ์ƒ‰์„ ํ•˜๊ฒŒ ๋˜๋ฉด O(n)์˜ ์‹œ๊ฐ„์ด ๊ฑธ๋ฆฌ๊ฒŒ ๋œ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค.

 

๐Ÿค” ์ •์  ๋ฐฐ์—ด๊ณผ ๋™์  ๋ฐฐ์—ด

 

1. ์ •์  ๋ฐฐ์—ด : ํฌ๊ธฐ ๊ณ ์ • (์š”์†Œ ์ œํ•œ)

5๊ฐœ๋ฅผ ๋‹ด์„ ์ˆ˜ ์žˆ๋Š” ๋ฐฐ์—ด์— ์ƒˆ๋กœ์›ƒ ์ˆ˜๋ฅผ ์ง‘์–ด๋„ฃ์„๋ผ๊ณ  ํ•œ๋‹ค๋ฉด ์ •์ ์ธ ๋ฐฐ์—ด ํŠน์„ฑ ๋•Œ๋ฌธ์— ๋ฐฐ์—ด์„ ์ฒ˜์Œ์— 6๊ฐœ๋ฅผ ๋‹ด์„ ์ˆ˜ ์žˆ๋„๋ก ์ดˆ๊ธฐํ™” ํ•ด์•ผ ํ•œ๋‹ค. ์ด๋Ÿฌํ•œ ํ˜„์ƒ์„ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•ด ๋„ˆ๋ฌด ํฐ ๊ณต๊ฐ„์„ ํ• ๋‹นํ•˜๋ฉด ๋‚ญ๋น„๋˜๋Š” ๊ณต๊ฐ„์ด ๋งŽ์•„์ง€๊ฒŒ ๋œ๋‹ค.

 

2. ๋™์  ๋ฐฐ์—ด : ํฌ๊ธฐ ์œ ๋™์  (์š”์†Œ ๊ณ„์† ์ถ”๊ฐ€ ๊ฐ€๋Šฅ)

์ƒํ™ฉ์— ๋”ฐ๋ผ ํฌ๊ธฐ๊ฐ€ ์œ ๋™์ ์œผ๋กœ ๋ฐ”๋€๋‹ค. ๊ธฐ์กด์— ์žˆ๋˜ ๋ฐฐ์—ด์—์„œ ์ƒˆ๋กœ์šด ์ˆซ์ž๊ฐ€ ์ถ”๊ฐ€๋˜๋ฉด ์ƒˆ๋กœ์šด ์ƒ๋Œ€์ ์œผ๋กœ ํฐ ํฌ๊ธฐ์˜ ๋ฐฐ์—ด์„ ์ƒˆ๋กœ ๋งŒ๋“ค๊ฒŒ ๋˜๊ณ  ๊ธฐ์กด์˜ ๊ฐ’๋“ค์„ ๋จผ์ € ์ถ”๊ฐ€ํ•˜๊ณ  ์ƒˆ๋กœ์šด ๊ฐ’์„ ๋’ค์— ์ถ”๊ฐ€ํ•˜๊ฒŒ ๋œ๋‹ค.

๊ฒฐ๊ตญ ์ •์  ๋ฐฐ์—ด๋กœ ๋งŒ๋“ค์–ด์ง„ ์ž๋ฃŒ๊ตฌ์กฐ์ด๊ณ  ์ƒํ™ฉ์— ๋งž๊ฒŒ ๋ฐ”๋€๋‹ค๋Š” ๊ฒƒ์ด๋‹ค.

 

๐Ÿค” ์ถ”๊ฐ€ ์—ฐ์‚ฐ (append operation)

 

๊ฒฝ์šฐ 1) ์ •์  ๋ฐฐ์—ด ๋‚จ๋Š” ๊ณต๊ฐ„ ์žˆ์„ ๋•Œ : O(1) ๊ทธ๋ƒฅ ์ถ”๊ฐ€๋งŒ ํ•˜๋ฉด ๋˜๋ฏ€๋กœ..

๊ฒฝ์šฐ 2) ์ •์  ๋ฐฐ์—ด์ด ๊ฝ‰ ์ฐผ์„ ๋•Œ

๊ธฐ์กด ๋ฐฐ์—ด 0๋ฒˆ ์ธ๋ฑ์Šค์— ์ ‘๊ทผํ•ด์„œ ๋ณต์‚ฌ ํ›„ ์ƒˆ๋กœ์šด ๋ฐฐ์—ด 0๋ฒˆ ์ธ๋ฑ์Šค์— ์ ‘๊ทผํ•ด ๋ถ™์—ฌ๋„ฃ๋Š” ์‹์œผ๋กœ ํ•˜๋‚˜ํ•˜๋‚˜

๋ณต์‚ฌํ•˜๋ฉด n๋ฒˆ ๋ฐ˜๋ณต๋œ๋‹ค. ๋”ฐ๋ผ์„œ O(n)์ด๊ณ  ์ƒˆ๋กœ์šด ๊ฐ’์„ ์ถ”๊ฐ€ํ•˜๋Š” ์ผ์€ O(1)๋งŒํผ ์‹œ๊ฐ„์ด ๊ฑธ๋ฆฌ๋‹ˆ

๋”ํ•ด O(n)๋งŒํผ ๊ฑธ๋ฆฐ๋‹ค.

 

๐Ÿค” ๋ถ„ํ•  ์ƒํ™˜ ๋ถ„์„ (Amortized Analysis)

 

๊ฐ™์€ ๋™์ž‘์„ n๋ฒˆ ํ–ˆ์„ ๋•Œ ๋“œ๋Š” ์‹œ๊ฐ„์ด x์ผ ๋•Œ ๋™์ž‘์„ ํ•œ ๋ฒˆ ํ•˜๋Š” ๋ฐ ๊ฑธ๋ฆฐ ์‹œ๊ฐ„์€ x/n๊ฑธ๋ฆฌ๊ฒŒ ๋œ๋‹ค.

 

x ๋ฒˆ์งธ ์ถ”๊ฐ€ ๋ฐฐ์—ด ํฌ๊ธฐ ์ƒˆ๋กœ์šด ๋ฐฐ์—ด์— ์š”์†Œ ์˜ฎ๊ฒจ ์ €์žฅํ•˜๋Š”๋ฐ ๊ฑธ๋ฆฌ๋Š” ์‹œ๊ฐ„
1 1 0
2 2 1
3 4 2
4 4 0
5 8 4
6 8 0
7 8 0
8 8 0
9 16 8
...    

 

ํฌ๊ธฐ๊ฐ€ 1์ด์—ˆ๋˜ ๋ฐฐ์—ด์€ 2, 3, 5, 9๋ฒˆ์งธ ์ˆ˜๊ฐ€ ์ถ”๊ฐ€ ๋  ๋•Œ ๋ฐฐ์—ด์˜ ํฌ๊ธฐ๋ฅผ ๋Š˜๋ฆฌ๊ฒŒ ๋œ๋‹ค. ๊ทธ๋Ÿด ๋•Œ๋งˆ๋‹ค ๋ฐ์ดํ„ฐ๋ฅผ ์˜ฎ๊ฒจ์•ผ ํ•˜๋Š”๋ฐ ์ด ๋•Œ๋งˆ๋‹ค 1, 2, 4, 8 ๊ฐœ์”ฉ ๋ณต์‚ฌํ•˜๊ณ  ๋ถ™์—ฌ๋„ฃ๋Š”๋‹ค.

๋ณต์‚ฌํ•˜๊ณ  ๋ถ™์—ฌ๋„ฃ๋Š” ์ด ์‹œ๊ฐ„ ๋น„์šฉ์€ 8 + 4 + 2 + 1 ์ด๋‹ค.

์ผ๋ฐ˜ํ™”๋ฅผ ํ•ด์„œ ์ˆ˜๋ฅผ ์ถ”๊ฐ€ํ•˜๋Š” ๊ฒƒ์„ n๋ฒˆํ–ˆ๋‹ค๊ณ  ํ•˜๊ณ , ๊ฐ€์žฅ ๋งˆ์ง€๋ง‰์— ๋ฐ์ดํŠธ๋ฅผ m๊ฐœ ์˜ฎ๊ฒจ์„œ ์ €์žฅํ–ˆ๋‹ค๊ณ  ํ•˜์ž.

์ด ๊ฑธ๋ฆฐ ์‹œ๊ฐ„์€ ์œ„์™€ ๊ฐ™์ด [m + m/2 + m/4 + ... + 1] ์ด ๊ฑธ๋ฆฌ๊ฒŒ ๋œ๋‹ค.

๋Š˜์–ด๋‚˜๋Š” ๊ฒƒ์€ 1 + 2 + 4 + ... + m/2 + m ์ˆœ์œผ๋กœ ๋Š˜์–ด๋‚˜์ง€๋งŒ ์—ญ์ˆœ์œผ๋กœ ํ•œ ๊ฒƒ์ด๋‹ค.

๊ฐ€์žฅ ๋งˆ์ง€๋ง‰์˜ ๋ณต์‚ฌํ•œ ์ˆซ์ž์˜ ๊ฐœ์ˆ˜๊ฐ€ m์ด๋ฉด ์ƒˆ๋กœ์ด ์ƒ๊ธฐ๋Š” ๋ฐฐ์—ด๋“ค์€ ์ด๋Ÿฐ์‹์œผ๋กœ ๋ณด์—ฌ์ง„๋‹ค.

 

 

์ƒˆ๋กœ ์ƒ๊ธฐ๋Š” ๋ฐฐ์—ด๋“ค์˜ ํฌ๊ธฐ์˜ ํ•ฉ์€ ์ ˆ๋Œ€ 2m์„ ๋„˜์„ ์ˆ˜ ์—†๋‹ค๋Š” ์ ์ด๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด ๊ฐ€์žฅ ์ตœ๊ทผ์— ๋ฐ์ดํ„ฐ๋ฅผ ์˜ฎ๊ฒจ ์ €์žฅํ•  ๋•Œ 8์ด ๊ฑธ๋ ธ๋‹ค๋Š” ๋œป์€ ํ˜„์žฌ ๋ฐฐ์—ด ์•ˆ์— ์žˆ๋Š” ๋ฐ์ดํ„ฐ๋Š” 9~16๊ฐœ ์‚ฌ์ด๋ผ๋Š” ๊ฒƒ์„ ์œ„ ๋ฐฉ์‹์œผ๋กœ ์•Œ ์ˆ˜ ์žˆ๋‹ค.

 

์ •๋ฆฌํ•˜๋ฉด ์—ฐ์†์œผ๋กœ ์ถ”๊ฐ€ ์—ฐ์‚ฐ์„ n ๋ฒˆ์„ ํ•˜๋ฉด ๋ฐ์ดํ„ฐ๋ฅผ ์˜ฎ๊ฒจ์„œ ์ €์žฅํ•˜๋Š” ๋ฐ ๊ฑธ๋ฆฌ๋Š” ์ด ์‹œ๊ฐ„์€  2n๋ณด๋‹ค ์ž‘๋‹ค๋Š” ๊ฒƒ์„ ์•Œ ์ˆ˜ ์žˆ๋‹ค.

 

์ƒˆ๋กœ์šด ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๋Š” ๋ฐ n์˜ ์‹œ๊ฐ„์ด ๋“ค๊ณ  ๋ฐ์ดํ„ฐ๋ฅผ ์˜ฎ๊ฒจ ์ €์žฅํ•˜๋Š”๋ฐ ์—๋Š” 2n๋ณด๋‹ค ์•ฝ๊ฐ„ ์ ์€ ์‹œ๊ฐ„์ด ํ•„์š”ํ•˜๋‹ค. ๋‘ ์‹œ๊ฐ„์„ ํ•ฉ์น˜๋ฉด O(3n)์˜ ์‹œ๊ฐ„ ๊ฒฐ๊ตญ O(n)์ด๋ผ๊ณ  ํ•  ์ˆ˜ ์žˆ๋‹ค.

ํ•˜์ง€๋งŒ ์ด๊ฑด ์—ฐ์†์œผ๋กœ n ๋ฒˆํ•˜๋Š” ๋ฐ ๊ฑธ๋ฆฌ๋Š” ์‹œ๊ฐ„ ๋ณต์žก๋„์ด๋‹ค.

1๋ฒˆํ•˜๋Š” ๋ฐ ๊ฑธ๋ฆฌ๋Š” ์‹œ๊ฐ„์€ O(n)/n ์ฆ‰ O(1)์ด ๊ฑธ๋ฆฐ๋‹ค.

 

๋ฌด์กฐ๊ฑด ๋ถ„ํ•  ์ƒํ™˜ ๋ถ„์„์„ ํ•œ๋‹ค๊ณ  ๊ผญ ์‹œ๊ฐ„ ๋ณต์žก๋„๊ฐ€ ์ค„์–ด๋“œ๋Š” ๊ฒƒ์€ ์•„๋‹ˆ๋‹ค. ๋ณดํ†ต ์ค„์–ด๋“ค์ง€ ์•Š๋Š”๋‹ค.

ํ•˜์ง€๋งŒ ์ด๋ ‡๊ฒŒ ํ•ด์„œ ์ค„์–ด๋“ ๋‹ค๋ฉด ์ด ๋ถ„ํ•  ์ƒํ™˜ ๋ถ„์„์„ ํ•œ ์‹œ๊ฐ„ ๋ณต์žก๋„๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.

 

์ •ํ™•ํ•˜๊ฒŒ๋Š” ๋™์  ๋ฐฐ์—ด์˜ ์ถ”๊ฐ€(append) ์—ฐ์‚ฐ์€ ์ตœ์•…์˜ ๊ฒฝ์šฐ O(n)์ด ๊ฑธ๋ฆฌ์ง€๋งŒ, ๋ถ„ํ•  ์ƒํ™˜ ๋ถ„์„์„ ํ•˜๋ฉด O(1)์ด ๊ฑธ๋ฆฐ๋‹ค๊ณ  ํ‘œํ˜„ํ•˜๋Š”๊ฒŒ ๋งž๋‹ค.

 

๐Ÿค” ์‚ฝ์ž… ์—ฐ์‚ฐ (insert operation)

 

๊ฒฝ์šฐ1 ) ์ •์  ๋ฐฐ์—ด ๋‚จ๋Š” ๊ณต๊ฐ„ ์žˆ์„ ๋•Œ

์—ฐ์†๋˜์–ด ์žˆ๋Š” ๋ฐฐ์—ด ์ค‘๊ฐ„์— ์ƒˆ๋กœ์šด ์ˆ˜๋ฅผ ์ €์žฅํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ์ค‘๊ฐ„ ์ดํ›„์— ์žˆ๋Š” ์ธ๋ฑ์Šค๋“ค์„ ํ•œ์นธ์”ฉ ๋’ค๋กœ ๋ฏธ๋ฃจ๊ฒŒ ๋œ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋นˆ๊ณต๊ฐ„์— ์ƒˆ๋กœ์šด ์ˆ˜๋ฅผ ๋„ฃ๊ฒŒ ๋˜๋Š”๋ฐ ์ด ๊ฒฝ์šฐ ์‹œ๊ฐ„๋ณต์žก๋„, ๊ทธ ์ค‘์—์„œ๋„ ์ตœ์•…์˜ ๊ฒฝ์šฐ๋Š” ๋งจ ์•ž์— ๋„ฃ๋Š” ๊ฒฝ์šฐ์ธ๋ฐ O(n)์˜ ์‹œ๊ฐ„์ด ๊ฑธ๋ฆฌ๊ฒŒ ๋œ๋‹ค. ์ •ํ™•ํžˆ๋Š” ๋„ฃ๋Š” ์‹œ๊ฐ„๊นŒ์ง€ O(n + 1)์ด๋‹ค. (1์€ ์ œ์™ธ)

 

๊ฒฝ์šฐ2 ) ์ •์  ๋ฐฐ์—ด์ด ์ฐผ์„ ๋•Œ

์ƒˆ๋กœ์šด ๋ฐฐ์—ด์„ ๋งŒ๋“ค๊ฒŒ ๋˜๊ณ  ๊ธฐ์กด์— ์žˆ๋˜ ์ˆ˜๋“ค์„ ๋ณต์‚ฌํ•˜๊ณ  ์œ„์˜ ๋ฐฉ์‹๊ณผ ๊ฐ™์ด ์ƒˆ๋กœ์šด ์š”์†Œ๋ฅผ ์ €์žฅํ•œ๋‹ค.

๋ณต์‚ฌํ•˜๋Š”๋ฐ ๊ฑธ๋ฆฌ๋Š” ์‹œ๊ฐ„ O(n), ์œ„์˜ ๋ฐฉ์‹์ด ๊ฑธ๋ฆฌ๋Š” ์‹œ๊ฐ„ O(n + 1) ๋”ํ•ด์„œ O(2n + 1)์˜ ์‹œ๊ฐ„์ด ๊ฑธ๋ฆฐ๋‹ค.

๊ฒฐ๊ตญ O(n)์ด ๊ฑธ๋ฆฐ๋‹ค.

 

๋‘˜๋‹ค O(n)์ด ๊ฑธ๋ฆฐ๋‹ค. ๋”ฐ๋ผ์„œ ์‚ฝ์ž… ์—ฐ์‚ฐ์— ๊ฑธ๋ฆฌ๋Š” ์‹œ๊ฐ„ ๋ณต์žก๋„๋Š” O(n)์ด ๊ฑธ๋ฆฐ๋‹ค.

 

๐Ÿค” ์‚ญ์ œ ์—ฐ์‚ฐ (delete operation)

 

๋ฏธ๋ฆฌ ์ง€์ •ํ•œ ๋ฐฐ์—ด์˜ ํฌ๊ธฐ์—์„œ ์ถ”๊ฐ€๋กœ ๊ณต๊ฐ„์„ ํ•„์š”๋กœ ํ•˜์ง€ ์•Š์œผ๋ฏ€๋กœ ์ตœ์•…์˜ ๊ฒฝ์šฐ ๋งจ ์•ž์„ ์š”์†Œ๋ฅผ ๋บ€๋‹ค๊ณ  ํ–ˆ์„ ๋•Œ ๋’ค์˜ ์š”์†Œ๋“ค์„ ํ•œ ์นธ์”ฉ ์•ž์œผ๋กœ ๋‹น๊ธฐ๋ฉด ๋˜๋ฏ€๋กœ 

์‚ญ์ œ์—ฐ์‚ฐ์€ O(n)์˜ ์‹œ๊ฐ„์ด ๊ฑธ๋ฆฌ๊ณ  ๋งจ ๋’ค์˜ ์š”์†Œ๋ฅผ ์‚ญ์ œํ•˜๊ฒŒ ๋œ๋‹ค๋ฉด O(1)์ด ๊ฑธ๋ฆฐ๋‹ค.

 

๐Ÿค” ๋‚ด๋ถ€ ๋ฐฐ์—ด์˜ ํฌ๊ธฐ ์ค„์ด๊ธฐ

 

๋ฐ์ดํ„ฐ๊ฐ€ 10000๊ฐœ ์žˆ๋Š” ๋™์  ๋ฐฐ์—ด์—์„œ 9900๊ฐœ์˜ ์š”์†Œ๋ฅผ ์ง€์› ๋‹ค๋ฉด 100๊ฐœ ๋ฐ–์— ๋‚จ์ง€ ์•Š๊ฒŒ ๋˜๊ณ  ๊ฒฐ๊ตญ 9900๊ฐœ์˜ ๊ณต๊ฐ„์ด ๋‚ญ๋น„๋˜๊ฒŒ ๋œ๋‹ค. ๊ณต๊ฐ„์„ ๋” ํšจ์œจ์ ์œผ๋กœ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด ๋‚ด๋ถ€ ๋ฐฐ์—ด์˜ ํฌ๊ธฐ๋„ ์ ์ ˆํžˆ ์ค„์—ฌ์„œ ๊ณต๊ฐ„์„ ์“ด๋‹ค.

์ด๋ ‡๊ฒŒ ํ•˜๊ธฐ ์œ„ํ•ด์„œ ๋งŒ์•ฝ 9๊ฐœ์˜ ์š”์†Œ๋ฅผ ๊ฐ–๊ณ  ์žˆ๋˜ ๋ฐฐ์—ด์—์„œ 6๊ฐœ์˜ ์š”์†Œ๋ฅผ ์ œ๊ฑฐํ•œ๋‹ค๊ณ  ์น˜๋ฉด ๊ณต๊ฐ„์˜ ํšจ์œจ์„ฑ ๋•Œ๋ฌธ์— ์ƒˆ๋กœ์šด 3์˜ ํฌ๊ธฐ์˜ ๋ฐฐ์—ด์„ ๋งŒ๋“ค๊ณ  ๊ทธ๊ณณ์—๋‹ค ์˜ฎ๊ธฐ๋ฉด ๋œ๋‹ค. ์ค„์ผ ๋•Œ ํฌ๊ธฐ๋ฅผ ๊ผญ 1/3์œผ๋กœ ์ค„์—ฌ์•ผ ํ•˜๋Š” ๊ฒƒ์€ ์•„๋‹ˆ๋‹ค. 1/2 1/4 ๋“ฑ ๊ฐœ๋ฐœ์ž๋‚˜ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์— ๋”ฐ๋ผ ๋‹ค๋ฅด๋‹ค.

 

๋งจ ๋ ๋ฐ์ดํ„ฐ๋ฅผ ์‚ญ์ œํ•  ๋•Œ๋Š” O(1)์˜ ์‹œ๊ฐ„์ด n๋ฒˆ ๋ฐ˜๋ณต๋œ๋‹ค. ์ž‘์€ ๋ฐฐ์—ด๋กœ ์˜ฎ๊ธฐ๊ธฐ ์œ„ํ•ด์„œ๋Š” O(n)์˜ ์‹œ๊ฐ„์ด ๊ฑธ๋ฆฐ๋‹ค. ์ž‘์€ ๋ฐฐ์—ด๋กœ ์•ˆ์˜ฎ๊ฒจ๋„ ๋˜์ง€๋งŒ ๋“œ๋ฌผ๊ฒŒ ์˜ฎ๊ธด๋‹ค.

 

๋”ฐ๋ผ์„œ ๋ถ„ํ•  ์ƒํ™˜ ๋ถ„์„์„ ์ ์šฉํ•˜๋ฉด ๋งจ ๋ ๋ฐ์ดํ„ฐ ์‚ญ์ œ ์—ฐ์‚ฐ๋„ O(1)์ด ๊ฑธ๋ฆฐ๋‹ค๊ณ  ํ•  ์ˆ˜ ์žˆ๋‹ค.

 

๐Ÿค” ๋™์  ๋ฐฐ์—ด์—์„œ์˜ ์‚ญ์ œ

 

์ •์ ์ธ ๋ฐฐ์—ด์—์„œ๋Š” numArray์˜ [2, 3, 5, 7]์—์„œ 2๋ฒˆ์งธ ์š”์†Œ์ธ 3์„ ์‚ญ์ œ๋ฅผ ํ•  ์ˆ˜ ์—†๋‹ค. None, NuLL๊ฐ’์€ ์ •์ˆ˜ํ˜•์ด ์•„๋‹ˆ๋ฏ€๋กœ ์—†๋Š” ๊ฐ’์„ ๋„ฃ์„ ์ˆ˜๋„ ์—†๋‹ค. ์ •์  ๋ฐฐ์—ด์€ 3์ด ์žˆ๋Š” ์ž๋ฆฌ์— 5๋ฅผ ๋Œ•๊ฒจ์˜ค๋Š” ์‹์œผ๋กœ ํ•ด์„œ ๊ฒฐ๊ตญ

[2, 5, 7, 7] ์ด๋ ‡๊ฒŒ ๋˜๊ณ  ๋งˆ์ง€๋ง‰์— ์žˆ๋Š” 7์„ ์ง€์šฐ๋Š”๊ฒŒ ์•„๋‹ˆ๋ผ ํŒŒ์ด์ฌ ๋‚ด๋ถ€์ ์œผ๋กœ ๊ฐœ๋ฐœ์ž๊ฐ€ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋Š” ์ธ๋ฑ์Šค ๋ฒ”์œ„๋ฅผ 0 ~ 2๋กœ ๋งŒ๋“ค์–ด ๋ฒ„๋ฆฐ๋‹ค. ์‹ค์งˆ์ ์œผ๋กœ ์ ‘๊ทผํ•  ์ˆ˜ ์—†๊ธฐ์— ์‚ญ์ œ๋˜์—ˆ๋‹ค๊ณ  ๋ณด๋Š” ๊ฒƒ์ด๋‹ค.