Array
Array vs List
LinkedList
์์ฐจ์ ์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ ์๋ฃ ๊ตฌ์กฐ
- ์ฃผ๋ก ์๋ก ์ฐ๊ฒฐ๋ ๋ฐ์ดํฐ๋ค์ ์์ฐจ์ ์ผ๋ก ์ ์ฅํ ๋ ์ฌ์ฉ
- ์ฝ์ ์์๋๋ก ์ ์ฅ (์๋ก ์ฝ์ ๋๋ ์์๋ ๋ฐฐ์ด์ ๋งจ ๋์ ์์น)
- ์ด๋ฏธ ์์ฑ๋ ๊ฒ๋ ์์ ๊ฐ๋ฅ(mutable)
- ๋์ผํ ๊ฐ ์ฌ๋ฌ๋ฒ ์ฝ์ ๊ฐ๋ฅ
- ๋ค์ค์ฐจ์ ๋ฐฐ์ด(Multi-dimentional Array): ๋ฐฐ์ด ์์ ๋ฐฐ์ด์ด ๋ค์ด์ฌ ์ ์์
- ๊ณ ์ ๋ ํฌ๊ธฐ๋ฅผ ๊ฐ๋ ๊ฐ์ ์๋ฃํ์ ์์๋ค์ด ์ฐ์์ ์ธ ํํ๋ก ๊ตฌ์ฑ๋ ์๋ฃ๊ตฌ์กฐ
์์ฐจ์ ์๋ฃ๊ตฌ์กฐ(Sequential Data Structure)
: ๋ฐ์ดํฐ๋ค์ด ์์ฐจ์ ์ผ๋ก ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฅ๋์ด ์๋ ๊ตฌ์กฐ
์ธ๋ฑ์ค(index)
๋ก ํด๋น ์์์ ์ ๊ทผํ ์ ์๋ค.- ์ถ๊ฐ์ ์ผ๋ก ์๋ชจ๋๋ ๋ฉ๋ชจ๋ฆฌ ์(overhead)์ด ๊ฑฐ์ ์๋ค.
Cache hit rate
๊ฐ ๋๋ค.- ๋ฐฐ์ด์ ์์ฑํ๋ ค๋ฉด ๋ฉ๋ชจ๋ฆฌ ์์ ์ฐ์ํ ๊ตฌ๊ฐ์ ํ ๋นํด์ผํด์ ํ ๋น์ ์ ์ฝ์ด ๊ฑธ๋ฆด ์ ์๋ค.
- ์์์ ์์น์ ์๋ ์์๋ฅผ ํ์ธํ๊ฑฐ๋ ๋ณ๊ฒฝํ๋ ์ฐ์ฐ:
O(1)
- ๋ฐฐ์ด์ ๊ฐ์ฅ ๋์ ์์ ์ถ๊ฐ:
O(1)
- ๋ฐฐ์ด์ ๊ฐ์ฅ ๋ ์์ ์ญ์ :
O(1)
- ์์์ ์์น์ ์์๋ฅผ ์ถ๊ฐํ๊ธฐ :
O(n)
- ์์์ ์์น์ ์๋ ์์ ์ ๊ฑฐ:
O(n)
- ๋๋ค ์ก์ธ์ค๊ฐ ๋น ๋ฅด๋ค.
index
๋ฅผ ํตํด ์์์O(1)
์๊ฐ๋ณต์ก๋๋ง์ ๋น ๋ฅด๊ฒ ์ ๊ทผํ ์ ์๋ค.
- Array์ ์ค๊ฐ ์์๋ฅผ ์ญ์ ํ ๊ฒฝ์ฐ, ๋ค์ ์๋ ๋ฐ์ดํฐ๋ฅผ ์ญ์ ํ ์์ ์ ๋งํผ
shift
ํด์ค์ผ ํ๋ ๋น์ฉ์ด ๋ฐ์ํ๊ณ ์ด ๊ฒฝ์ฐ์ ์๊ฐ ๋ณต์ก๋๋O(n)
์ด ๋๋ค. (์ฝ์ ์ ๊ฒฝ์ฐ๋ ๋ง์ฐฌ๊ฐ์ง) - ์ฐ์๋ ๋ฉ๋ชจ๋ฆฌ ์์ ์์๋ค์ด ์กด์ฌํ๋ฏ๋ก ์ฒ์ ๋ฐฐ์ด์ ์ ์ธํ ํฌ๊ธฐ๋งํผ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ์ง ์๋๋ค๋ฉด ๋ฉ๋ชจ๋ฆฌ ๋ญ๋น๊ฐ ๋ฐ์ํ๋ค.
- ๋ฐ์ดํฐ๋ฅผ ์๋ก ์ถ๊ฐํ ๋
Resizing ๋ฌธ์
(๋ฉ๋ชจ๋ฆฌ์ ์ฌ์ด์ฆ๋ฅผ ๋ค์ ์กฐ์ ํ๋ ๋ฌธ์ )๊ฐ ์๊ธธ ์ ์๋ค.
๋ฐฐ์ด์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์์ฐจ์ ์ผ๋ก ์ฑ์ฐ๋ฉฐ, ์ฒ์ ์์ฑ๋ ๋ ์ด๋ ์ ๋ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๋ฏธ๋ฆฌ ํ ๋น(pre-allocation)ํ๋ค.
๋ฉ๋ชจ๋ฆฌ๋ฅผ pre-allocationํ๋ฉด์ ์๋ก ์ถ๊ฐ๋๋ ์์๋ค๋ ์์ฐจ์ ์ผ๋ก ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฅ๋ ์ ์๋ค.
ํ์ง๋ง ์ฒ์ ํ ๋นํ ๊ฒ๋ณด๋ค ์์๊ฐ ๋ ๋ง์์ง๋ค๋ฉด resizing
์ด ํ์ํ๋ค.
Array ํน์ฑ์, ์ถ๊ฐ์ ์ผ๋ก ํ ๋น๋ ๋ฉ๋ชจ๋ฆฌ ๋ํ ์์ฐจ์ ์ผ๋ก ๋ค์ด๊ฐ์ผ ํ๊ธฐ ๋๋ฌธ์ ์๋์ ์ผ๋ก ์ค๋ ๊ฑธ๋ฆฐ๋ค.
- ๊ธฐ์กด์ ๋ฐฐ์ด์ ๊ทธ๋๋ก ๋๊ณ
- ์๋ก์ด ๊ธธ์ด๋ก ์ง์ ๋ ๋ฐฐ์ด์ ๋ฐ๋ก ํ ๋น ํ
- ๋ฐ์ดํฐ์ ๋ณต์ฌ๋ฅผ ์งํํ๊ณ
- ๊ธฐ์กด์ ๋ฐฐ์ด์ ์ญ์
- ์์ฐจ์ ์ธ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ ๋(ex. ๋ํ ๊ฒฐ๊ณผ)
- ๋ค์ฐจ์ ๋ฐ์ดํฐ๋ฅผ ๋ค๋ฃฐ ๋ (ex. ๋ฐฐ์ด ์์ ๋ฐฐ์ด์ด ํ์ํ ๊ฒฝ์ฐ)
- ๋ฐ์ดํฐ ์ฌ์ด์ฆ๊ฐ ์์ฃผ ๋ฐ๋์ง ์์ ๋
- ์์๊ฐ ์์ฃผ ์ญ์ ๋๊ฑฐ๋ ์ถ๊ฐ๋์ง ์์ ๋
- ๋ฐฐ์ด์ ์ ์ฅ๋ ๋ฐ์ดํฐ๋ฅผ ๊ฒ์ํ๋ ์์ ์ด ๋ง์ ๋
์์๊ฐ ์๋ ๋ฐ์ดํฐ์ ๋ชจ์์ด๋ค. ๋ค๋ฅธ ๋ง๋ก๋ ์ํ์ค(sequence)๋ผ๊ณ ๋ ๋ถ๋ฅธ๋ค.
- ์์ฐจ์ฑ์ ๋ณด์ฅํ์ง ๋ชปํ๊ธฐ ๋๋ฌธ์
spacial locality
๋ณด์ฅ์ด ๋์ง ์์cache hit
๊ฐ ์ด๋ ต๋ค. - ๋ฆฌ์คํธ์์ ์ธ๋ฑ์ค๋ ๋ช ๋ฒ์งธ ๋ฐ์ดํฐ์ธ๊ฐ ์ ๋์ ์๋ฏธ๋ฅผ ๊ฐ์ง๋ค. (๋ฐฐ์ด์์์ ์ธ๋ฑ์ค๋ ๊ฐ์ ๋ํ ์ ์ผ๋ฌด์ดํ ์๋ณ์)
spacial locality: ํ๋ก๊ทธ๋จ ์คํ ์ ์ ๊ทผํ๋ ๋ฉ๋ชจ๋ฆฌ ์์ญ์ ์ด๋ฏธ ์ ๊ทผ์ด ์ด๋ฃจ์ด์ง ์์ญ์ ๊ทผ์ฒ์ผ ํ๋ฅ ์ด ๋๋ค๋ ํ๋ก๊ทธ๋จ ์ฑ๊ฒฉ ํํ
- ์ต๊ทผ ์ธ์ด๋ค์ ๋ฆฌ์คํธ๋ฅผ ๊ธฐ๋ณธ์ผ๋ก ์ ๊ณต
C
- ๋ฆฌ์คํธ๋ฅผ ์ง์ํ์ง ์๋๋ค. ๋์ ๋ฐฐ์ด์ ์ง์ํ๋ค.
- ๋ฆฌ์คํธ๋ฅผ ์ฌ์ฉํ๋ ค๋ฉด ์ง์ ๋ง๋ค๊ฑฐ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํด์ผ ํ๋ค.
JavaScript
- ๋ฐฐ์ด์ ๋ฆฌ์คํธ์ ๊ธฐ๋ฅ์ด ํฌํจ๋์ด ์๋ค.
Python
- ๊ธฐ๋ณธ์ ์ผ๋ก ๋ฆฌ์คํธ๋ฅผ ์ ๊ณตํ๋ฉฐ, ๋ฐฐ์ด์ ์ ๊ณตํ์ง์๋๋ค.
- ํ์ด์ฌ์์๋ ๋ฆฌ์คํธ๊ฐ ๋ฐฐ์ด์ด๋ค.
- ํ์ด์ฌ์ ๋ฆฌ์คํธ๋ ํฌ๊ธฐ๊ฐ ๊ฐ๋ณ์ ์ด๊ณ , ์ด๋ค ์์ ํ์ ์ด๋ ์ ์ฅํ ์ ์๋ค๋ ์ฅ์ ์ ๊ฐ์ง๋ค. ๋์ C์ ๋ฐฐ์ด๋ณด๋ค ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๋ ๋ง์ด ํ์๋ก ํ๋ค๋ ๋จ์ ์ด ์๋ค.
Java
- ๋ฐฐ์ด๊ณผ ๋ฆฌ์คํธ๋ฅผ ๋ชจ๋ ์ง์ํ๊ณ , ๋ ๊ฐ์ง๊ฐ ์์ ํ ๋ถ๋ฆฌ๋์ด ์๋ค.
- ๊ฐ๋ฐ์๊ฐ ์ํ๋ ๋๋ก ๋ฐฐ์ด๊ณผ ๋ฆฌ์คํธ ์ค ์ ํํ ์ ์๋ค.
- ํฌ๊ฒ 2๊ฐ์ง ํํ์ ๋ฆฌ์คํธ๋ฅผ ์ง์ํ๋ค.
LinkedList
ArrayList
- ์ธ๋ฑ์ค๋ฅผ ์ด์ฉํด์ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์ค๋ ๊ฒ์ด ๋น๋ฒํ๋ค๋ฉด ๋ด๋ถ์ ์ผ๋ก ๋ฐฐ์ด์ ์ด์ฉํ๋
ArrayList
๊ฐ ๋ ๋น ๋ฅด๋ค. - ๋ฐ์ดํฐ์ ์ถ๊ฐ/์ญ์ ๊ฐ ๋น๋ฒํ๋ค๋ฉด
LinkedList
๊ฐ ๋ ํจ๊ณผ์ ์ด๋ค.
- ๋ฐฐ์ด์ ์ด์ฉํด์ ๋ฆฌ์คํธ๋ฅผ ๊ตฌํํ ๊ฒ์ ์๋ฏธํ๋ค.
- ์ฅ์ : ๋ด๋ถ์ ์ผ๋ก ๋ฐฐ์ด์ ์ฌ์ฉํ๊ธฐ ๋๋ฌธ์ ์ธ๋ฑ์ค๋ฅผ ์ด์ฉํด์ ์ ๊ทผํ๋ ๊ฒ์ด ๋น ๋ฅด๋ค.
- ๋จ์ : ๋ฐ์ดํฐ์ ์ถ๊ฐ์ ์ญ์ ๊ฐ ๋๋ฆฌ๋ค.
๋ฐฐ์ด์ ๋ฏธ๋ฆฌ ํน์ ํ ์ฐ๊ฒฐ๋ ๊ณต๊ฐ์ ํ๋ณดํ๊ณ ๋ฐ์ดํฐ๋ฅผ ์ฐ๊ณ ์๋ ์๋ฃ๊ตฌ์กฐ์ด๊ณ , ๋งํฌ๋ ๋ฆฌ์คํธ๋ ํ์ํ ๋ ๋ง๋ค ๋ฐ์ดํฐ๋ฅผ ์ถ๊ฐํ ์ ์๋ ๊ตฌ์กฐ์ด๋ค.
๋ฐฐ์ด์ ๋จ์ ์ ๊ทน๋ณตํ ์๋ฃ๊ตฌ์กฐ๊ฐ ๋งํฌ๋ ๋ฆฌ์คํธ
๋ผ๊ณ ๋ณผ ์ ์๋ค.
์ฐ๊ฒฐ๋ฆฌ์คํธ '๋ ธ๋'๋ผ๋ ๊ฐ์ฒด๋ก ์ด๋ฃจ์ด์ ธ ์๋ค.
- Data๋ฅผ ์ ์ฅํ ๊ณต๊ฐ
- ๋ค์ ๋ ธ๋์ ์ฃผ์๋ฅผ ๊ฐ๋ฆฌํฌ ๊ณต๊ฐ
struct LinkedList {
int data;
struct LinkedList *next;
}
- ๊ฐ ๋ ธ๋๋ ์ฐ์๋ ๊ณต๊ฐ์ ์ ์ฅ๋์ด ์์ง ์๊ณ ๋ฉ๋ชจ๋ฆฌ์ ์ฌ๋ฌ ๋ถ๋ถ์ ๋ถํฌ๋์ด ์๋ค.
- ๊ฐ ๋ ธ๋์ ๋ค์ ๋ ธ๋์ ์ฃผ์๋ฅผ ์ ์ฅํจ์ผ๋ก์จ ๋ค์ ๋ ธ๋๋ฅผ ํ์ํ ์ ์๋ค.
- ๋ ธ๋๊ฐ ๊ฐ๋ฆฌํค๋ ๋ค์ ์ฃผ์๊ฐ NULL์ด๋ฉด ์ด๋ ธ๋๋ ๋ง์ง๋ง ๋ ธ๋๋ผ๊ณ ํ ์ ์๋ค.
- ๋์ ์ผ๋ก ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ์ด ๊ฐ๋ฅํ๋ค.
- ๋ฉ๋ชจ๋ฆฌ๋ฅผ ํจ์จ์ ์ผ๋ก ์ฌ์ฉํ ์ ์๋ค.
- ๋ฐ์ดํฐ ์ฌ๊ตฌ์ฑ์ด ์ฉ์ดํ๋ค.
- ๋์ฉ๋ ๋ฐ์ดํฐ ์ฒ๋ฆฌ์ ์ ํฉํ๋ค.
- ํน์ ์์น ๋ฐ์ดํฐ ๊ฒ์ํ ๋ ๋๋ฆฌ๋ค.
- ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ถ๊ฐ์ ์ผ๋ก ์ฌ์ฉํด์ผํ๋ค.
- ์๋ก์ด ๋
ธ๋๋ฅผ ์์ฑํ๋ค.
Vertex temp = new Vertex(input)
- ์๋ก์ด ๋
ธ๋์ ๋ค์ ๋
ธ๋๋ก ์ฒซ๋ฒ์งธ ๋
ธ๋๋ฅผ ๊ฐ๋ฆฌํจ๋ค.
temp.next = head
- ์๋ก ๋ง๋ค์ด์ง ๋
ธ๋๊ฐ ์ฒซ๋ฒ์งธ ๋
ธ๋๊ฐ ๋๋๋ก head์ ๊ฐ์ ๋ณ๊ฒฝํ๋ค.
head = temp
- ์ฐ์ 3๋ฒ์งธ ์๋ฆฌ๋ฅผ ์ฐพ์์ผ ํ๋ค.
- head๋ฅผ ์ฐธ์กฐํด์ ์ฒซ๋ฒ์งธ ๋
ธ๋๋ฅผ ์ฐพ๋๋ค.
Vertext temp1 = head
- 23์๋ฆฌ์ ์๋ก์ด ๋ ธ๋๋ฅผ ์์น์ํค๊ธฐ์ํด์๋ 6์ ์๊ณ ์์ด์ผํ๋ค. 6์ temp1์ผ๋ก ์ง์ ํ๊ธฐ ์ํ ๋ฐ๋ณต๋ฌธ์ด๋ค.
//ํ์ฌ k์ ๊ฐ์ 2
while (--k != 0)
temp1 = temp1.next
- 6์ next๋ฅผ ์ด์ฉํด์ 23์ ์ฐพ์์ temp2๋ก ์ง์ ํ๋ค.
Vertext temp2 = temp1.next
- ๊ฐ์ด 90์ธ ์๋ก์ด ๋
ธ๋๋ฅผ ์์ฑํ๋ค.
Vertext newVertex = new Vertex(input)
- 6์ ๋ค์ ๋
ธ๋๋ก ์๋ก์ด ๋
ธ๋๋ฅผ ์ง์ ํ๋ค.
temp1.next = newVertex
- ์๋ก์ด ๋
ธ๋์ ๋ค์ ๋
ธ๋๋ก 23๋ฒ์ ์ง์ ํ๋ค.
newVertex.next = temp2
- ์ธ๋ฒ์งธ ๋ ธ๋(์ธ๋ฑ์ค 2)๋ฅผ ์ ๊ฑฐํ๊ธฐ
- head๋ฅผ ์ด์ฉํด์ ์ฒซ๋ฒ์งธ ๋
ธ๋๋ฅผ ์ฐพ๋๋ค.
Vertex cur = head
- ๋๋ฒ์งธ ๋ ธ๋๋ก ์ด๋ํ๋ค.
//k = 2
while(--k!=0)
cur = cur.next
- ์ธ๋ฒ์งธ ๋
ธ๋ ์ฐพ๋๋ค.
Vertex tobedeleted = cur.next
- ๋๋ฒ์งธ ๋
ธ๋์ next๋ฅผ 23์ผ๋ก ๋ณ๊ฒฝํ๋ค.
cur.next = cur.next.next
- 90์ ์ญ์ ํด์ ๋ฉ๋ชจ๋ฆฌ์์ ์ ๊ฑฐํ๋ค.
delete tobedeleted
- ๋ฐ์ดํฐ ํ์: ์์ฐจ ์ ๊ทผ ๋ฐฉ์์ ์ฌ์ฉํ๊ธฐ ๋๋ฌธ์ ์ด๋ค ํ ๋ฐ์ดํฐ๋ฅผ ์ฐพ๊ธฐ ์ํด์๋ ์ฒ์๋ถํฐ ์์ฐจ์ ์ผ๋ก ํ์ํด์ผ ํ๋ค.:
O(n)
- ์ฝ์
/์ญ์ :
O(1)
- ์ํ๋ ๋
ธ๋์ ์ ๊ทผ + ์ฝ์
/์ญ์ :
O(n+1)
- ๊ฐ์ฅ ์์ ์ ๊ทผ + ์ฝ์
/์ญ์ :
O(1)
- ๊ฐ์ฅ ๋ค์ ์ ๊ทผ + ์ฝ์
:
O(1+1)
(tail ๋ ธ๋ ๋ฐ๋ก ์ง์ ํ ๊ฒฝ์ฐ) - ๋ค์์ ๋๋ฒ์งธ ๋
ธ๋(tail ๋
ธ๋ ์ ๋
ธ๋)์ ๊ทผ + ์ญ์ :
O(n+1)
Array๋ Random Access๋ฅผ ์ง์ํ๋ค. ์์๋ค์ ์ธ๋ฑ์ค๋ฅผ ํตํด ์ง์ ์ ๊ทผํ ์ ์๋ค. ๋ฐ๋ผ์ ํน์ ์์์ ์ ๊ทผํ๋ ์๊ฐ ๋ณต์ก๋๋ O(1)์ด๋ค. ๋ฐ๋ฉด Linkedlist๋ Sequential Access๋ฅผ ์ง์ํ๋ค. ์ด๋ค ์์๋ฅผ ์ ๊ทผํ ๋ ์์ฐจ์ ์ผ๋ก ๊ฒ์ํ๋ฉฐ ์ฐพ์์ผ ํ๋ค. ๋ฐ๋ผ์ ํน์ ์์์ ์ ๊ทผํ ๋ ์๊ฐ ๋ณต์ก๋๋ O(N)์ด๋ค.
์ ์ฅ ๋ฐฉ์๋ ๋ฐฐ์ด์์ ์์๋ค์ ์ธ์ ํ ๋ฉ๋ชจ๋ฆฌ ์์น์ ์ฐ์ด์ด ์ ์ฅ๋๋ค. ๋ฐ๋ฉด Linkedlist์์๋ ์๋ก์ด ์์์ ํ ๋น๋ ๋ฉ๋ชจ๋ฆฌ ์์น ์ฃผ์๊ฐ linkedlist์ ์ด์ ์์์ ์ ์ฅ๋๋ค.
๋ฐฐ์ด์์ ์ฝ์ ๊ณผ ์ญ์ ๋ O(N)์ด ์์๋์ง๋ง, Linkedlist์์ ์ฝ์ ๊ณผ ์ญ์ ๋ O(1)์ด ์์๋๋ค.
๋ฐฐ์ด์์ ๋ฉ๋ชจ๋ฆฌ๋ ์ ์ธ ์ ์ปดํ์ผ ํ์์ ํ ๋น์ด ๋๋ค. (์ ์ ๋ฉ๋ชจ๋ฆฌ ํ ๋น) ๋ฐ๋ฉด Linkedlist์์๋ ์๋ก์ด ์์๊ฐ ์ถ๊ฐ๋ ๋ ๋ฐํ์์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ํ ๋นํ๋ค. (๋์ ๋ฉ๋ชจ๋ฆฌ ํ ๋น)
๋ฐฐ์ด์ Stack ์น์ ์ ๋ฉ๋ชจ๋ฆฌ ํ ๋น์ด ์ด๋ฃจ์ด์ง๋ค. ๋ฐ๋ฉด Linkedlist๋ Heap ์น์ ์ ๋ฉ๋ชจ๋ฆฌ ํ ๋น์ด ์ด๋ฃจ์ด์ง๋ค.
Array Array ArrayVSList LinkedList LinkedList LinkedList
- Array์ LinkedList์ ์ฐจ์ด์ ์ ์ค๋ช ํ์ธ์
- Array(List)์ ๊ฐ์ฅ ํฐ ํน์ง๊ณผ ๊ทธ๋ก ์ธํด ๋ฐ์ํ๋ ์ฅ์ ๊ณผ ๋จ์ ์ ๋ํด ์ค๋ช ํ์ธ์.
- Array๋ฅผ ์ ์ฉ์ํค๋ฉด ์ข์ ๋ฐ์ดํฐ์ ์๋ฅผ ๊ตฌ์ฒด์ ์ผ๋ก ๋ค์ด์ฃผ์ธ์. ๊ตฌ์ฒด์ ์์์ ํจ๊ป Array๋ฅผ ์ ์ฉํ๋ฉด ์ข์ ์ด์ , ๊ทธ๋ฆฌ๊ณ Array๋ฅผ ์ฌ์ฉํ์ง ์์ผ๋ฉด ์ด๋ป๊ฒ ๋๋์ง ํจ๊ป ์์ ํด์ฃผ์ธ์.