π§ 리μ€νΈ(λ°°μ΄) κ°λ
μ 리 & μ°μ΅λ¬Έμ νμ΄ (with Python)
2025. 7. 1. 11:44γπ μ½λ© ν μ€νΈ/Python
λ°μν
π 리μ€νΈλ?
리μ€νΈ(List)λ μμκ° μλ λ°μ΄ν°μ μ§ν©μ
λλ€.
νμ΄μ¬μμλ 리μ€νΈλ₯Ό λ°°μ΄μ²λΌ μ¬μ©ν μ μμΌλ©°, μμλ₯Ό μΆκ°/μμ /νμνλ λ€μν κΈ°λ₯μ μ 곡ν©λλ€.
π μμ
L = ['Bob', 'Cat', 'Spam', 'Programmers']
Index Value
0 | 'Bob' |
1 | 'Cat' |
2 | 'Spam' |
3 | 'Programmers' |
π 리μ€νΈ κΈ°μ΄ λ¬Έλ²
1οΈβ£ μμ μ κ·Ό
L[1] # 'Cat'
L[-2] # 'Spam'
2οΈβ£ μμ μΆκ° (append)
L.append('New')
# ['Bob', 'Cat', 'Spam', 'Programmers', 'New']
3οΈβ£ μμ μμ (pop, del)
L.pop() # 'New' μμ ν λ°ν
del(L[2]) # μΈλ±μ€ 2 ('Spam') μμ
λ©μλ νΉμ§
pop() | μμ νλ©΄μ κ°μ λ°νν¨ |
del | μμ λ§ μνν¨, λ°ν μμ |
π 리μ€νΈ μ°μ° μκ° λ³΅μ‘λ
μ°μ° μκ° λ³΅μ‘λ
append | O(1) (μμ μκ°) |
insert(i,x) | O(n) (μ ν μκ°) |
del(i) | O(n) (μ ν μκ°) |
index(x) | O(n) (μ ν μκ°) |
π§ͺ μ°μ΅λ¬Έμ 1
μ λ ¬λ 리μ€νΈμ μ μ xλ₯Ό μ¬λ°λ₯Έ μμΉμ μ½μ νλΌ
β λ¬Έμ μ€λͺ
μ μλ‘ μ΄λ£¨μ΄μ§ μ€λ¦μ°¨μ 리μ€νΈ Lκ³Ό μ μ xκ° μ£Όμ΄μ‘μ λ,
xλ₯Ό μ μ ν μμΉμ μ½μ
νμ¬ μ λ ¬ μνλ₯Ό μ μ§νλ 리μ€νΈλ₯Ό λ°ννμμ€.
π μμ
L = [20, 37, 58, 72, 91]
x = 65
# λ°ν: [20, 37, 58, 65, 72, 91]
π‘ νμ΄ μ½λ
def solution(L, x):
for i in range(len(L)):
if x < L[i]:
L.insert(i, x)
return L
L.append(x) # xκ° κ°μ₯ ν° κ²½μ°
return L
π§ͺ μ°μ΅λ¬Έμ 2
리μ€νΈ λ΄ x κ°μ μΈλ±μ€ λͺ¨λ λ°ν
β λ¬Έμ μ€λͺ
μμμ μ μ 리μ€νΈ Lκ³Ό κ° xκ° μ£Όμ΄μ‘μ λ,
xκ° λνλλ λͺ¨λ μΈλ±μ€λ₯Ό 리μ€νΈλ‘ λ°ννμμ€.
μ‘΄μ¬νμ§ μμΌλ©΄ [-1]μ λ°ννμμ€.
π μμ
L = [64, 72, 83, 72, 54]
x = 72
# λ°ν: [1, 3]
x = 49
# λ°ν: [-1]
π‘ νμ΄ μ½λ
def solution(L, x):
result = []
i = 0
while i < len(L):
try:
idx = L.index(x, i)
result.append(idx)
i = idx + 1
except:
break
if result == []:
return [-1]
return result
π λ§λ¬΄λ¦¬ μ 리
- 리μ€νΈλ νμ΄μ¬μμ λ°°μ΄μ²λΌ λ€λ£° μ μλ μμ°¨μ μλ£κ΅¬μ‘°
- μ½μ /μμ /νμ μ°μ°μ μκ° λ³΅μ‘λλ₯Ό κ³ λ €ν΄μΌ ν¨μ¨μ μΈ μ½λ μμ± κ°λ₯
- .insert(), .pop(), .index() λ±μ λ©μλλ κ°λ ₯νμ§λ§ λλ‘λ λ°λ³΅λ¬Έκ³Ό 쑰건문μΌλ‘ μ§μ ꡬννλ κ²μ΄ ν¨μ¨μ μΌ μ μμ
λ°μν
'π μ½λ© ν μ€νΈ > Python' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
π μ λ ¬κ³Ό νμ μκ³ λ¦¬μ¦ μμ μ 볡! (with Python) (4) | 2025.07.01 |
---|---|
Pythonμ mainμ΄ μλ μ΄μ (0) | 2025.03.24 |
그리λ & ꡬν # 2 (0) | 2020.11.25 |
그리λ & ꡬν # 1 (0) | 2020.11.25 |
νμ΄μ¬ λ¬Έλ² #4 (0) | 2020.11.19 |