Guidelines

데이터λ₯Ό 순차적으둜 μ €μž₯ν•˜λŠ” λ°°μ—΄(Array)

배열은 같은 μœ ν˜•μ˜ μ—¬λŸ¬ 데이터 μš”μ†Œλ“€μ„ 연속적인 λ©”λͺ¨λ¦¬ μœ„μΉ˜μ— μ €μž₯ν•˜λŠ” κ΅¬μ‘°μž…λ‹ˆλ‹€. 각 μš”μ†ŒλŠ” 인덱슀(index)λ₯Ό 톡해 μ ‘κ·Όν•  수 있으며, 이 μΈλ±μŠ€λŠ” 보톡 0λΆ€ν„° μ‹œμž‘ν•©λ‹ˆλ‹€.


λ°°μ—΄μ˜ νŠΉμ§•

  1. κ³ μ •λœ 크기(Fixed Size): 일반적으둜 배열은 크기가 κ³ μ •λ˜μ–΄ μžˆμ–΄, 배열을 생성할 λ•Œ κ·Έ 크기λ₯Ό 미리 지정해야 ν•©λ‹ˆλ‹€. μ΄λŠ” 배열이 λ©”λͺ¨λ¦¬μ— μ—°μ†μ μœΌλ‘œ ν• λ‹Ήλ˜μ–΄μ•Ό ν•˜κΈ° λ•Œλ¬Έμž…λ‹ˆλ‹€. 파이썬의 λ¦¬μŠ€νŠΈμ™€ 같은 동적 배열은 μ΄λŸ¬ν•œ μ œν•œμ„ κ·Ήλ³΅ν•˜κΈ° μœ„ν•΄ λ‚΄λΆ€μ μœΌλ‘œ μž¬ν• λ‹Ήκ³Ό 볡사λ₯Ό μˆ˜ν–‰ν•©λ‹ˆλ‹€.

  2. 인덱슀λ₯Ό ν†΅ν•œ λΉ λ₯Έ μ ‘κ·Ό(Fast Access via Index): λ°°μ—΄μ˜ 각 μš”μ†ŒλŠ” κ³ μœ ν•œ 인덱슀(보톡 0λΆ€ν„° μ‹œμž‘)λ₯Ό 가지며, 이λ₯Ό 톡해 μƒμˆ˜ μ‹œκ°„(O(1))에 νŠΉμ • μš”μ†Œμ— μ ‘κ·Όν•  수 μžˆμŠ΅λ‹ˆλ‹€. 즉, μœ„μΉ˜λ₯Ό μ•Œκ³  μžˆλ‹€λ©΄ 맀우 λΉ λ₯΄κ²Œ 데이터에 μ ‘κ·Όν•  수 μžˆμŠ΅λ‹ˆλ‹€.

  3. λ™μΌν•œ νƒ€μž…μ˜ μš”μ†Œ(Homogeneous Elements): 전톡적인 배열은 같은 데이터 νƒ€μž…μ˜ μš”μ†Œλ“€λ‘œ κ΅¬μ„±λ©λ‹ˆλ‹€. 예λ₯Ό λ“€μ–΄, μ •μˆ˜ 배열은 μ •μˆ˜λ§Œμ„, 문자 배열은 λ¬Έμžλ§Œμ„ μ €μž₯ν•©λ‹ˆλ‹€. μ΄λŠ” λ©”λͺ¨λ¦¬λ₯Ό 효율적으둜 μ‚¬μš©ν•˜κ³ , 각 μš”μ†Œμ˜ λ©”λͺ¨λ¦¬ μ£Όμ†Œλ₯Ό κ³„μ‚°ν•˜λŠ” 것을 λ‹¨μˆœν™”ν•©λ‹ˆλ‹€.

파이썬의 λ¦¬μŠ€νŠΈλŠ” λ°°μ—΄κ³Ό μœ μ‚¬ν•˜μ§€λ§Œ 크기가 κ³ μ •λ˜μ–΄ μžˆμ§€ μ•ŠμœΌλ©°, μ„œλ‘œ λ‹€λ₯Έ 데이터 νƒ€μž…μ˜ μš”μ†Œλ“€μ„ μ €μž₯ν•  수 μžˆμŠ΅λ‹ˆλ‹€. 파이썬 λ¦¬μŠ€νŠΈμ™€ 같은 μžλ£Œν˜•μ€ 동적 λ°°μ—΄(dynamic array)이라고 λΆ€λ¦…λ‹ˆλ‹€.


λ°°μ—΄μ˜ μ‚¬μš© μ˜ˆμ‹œ

νŒŒμ΄μ¬μ—μ„œ 배열을 μ‚¬μš©ν•˜λŠ” κ°„λ‹¨ν•œ μ˜ˆμ‹œλŠ” λ‹€μŒκ³Ό κ°™μŠ΅λ‹ˆλ‹€:

파이썬 λ°°μ—΄ μ˜ˆμ‹œ
# νŒŒμ΄μ¬μ—μ„œ λ°°μ—΄ μƒμ„±ν•˜κΈ° my_array = [10, 20, 30, 40, 50] # λ°°μ—΄μ˜ νŠΉμ • μš”μ†Œμ— μ ‘κ·Όν•˜κΈ° print(my_array[2]) # 좜λ ₯: 30 # λ°°μ—΄μ˜ 길이 κ΅¬ν•˜κΈ° print(len(my_array)) # 좜λ ₯: 5 # 배열에 μš”μ†Œ μΆ”κ°€ν•˜κΈ° my_array.append(60) # [10, 20, 30, 40, 50, 60] # λ°°μ—΄μ˜ νŠΉμ • μš”μ†Œ λ³€κ²½ν•˜κΈ° my_array[1] = 25 # [10, 25, 30, 40, 50, 60] # λ°°μ—΄μ˜ μš”μ†Œλ₯Ό 반볡문으둜 μˆœνšŒν•˜κΈ° for element in my_array: print(element)

Guidelines

AI Tutor

Publish

Design

Upload

Notes

Favorites

Help

Code Editor

Run
Generate

Execution Result