강의
배열은 원소들을 순서대로 늘어놓은 것입니다.
python에서는 리스트를 이용하여 배열을 나타냅니다.
리스트의 index는 0부터 시작합니다.
리스트는 변형할 수 있습니다.
가장 손쉽게 할 수 있는 연산은 상수 시간 O(1)이 걸립니다.
- 원소 맨 뒤에 추가하기 : list.append()
- 마지막 원소 제거하기 : list.pop()
리스트의 크기에 의해 연산 시간이 선형 시간 O(n)으로 영향을 받기도 합니다.
- 원소 삽입하기 : list.insert()
- 원소 삭제하기 : list.del()
index() 함수를 이용하면 원소의 위치를 찾을 수 있습니다.
2강 실습: (1) 리스트에 새로운 요소 삽입하기
⭐ 직관적 풀이 : 원소를 맨 뒤에 삽입한 후 재정렬하는 방법!
def solution(L, x):
L.append(x)
L.sort()
return L
⭐ 힌트 풀이 : 원소가 들어가야 할 위치를 먼저 찾은 후에 insert를 이용하는 방법!
⭐ 두 방법 모두 가능하지만 리스트의 크기가 커질 경우를 대비하여 시간 복잡도도 고려하는 문제!
2강 실습: (2) 리스트에서 원소 찾아내기
⭐ 직관적 풀이 : 반복문을 이용하여 단순 비교하는 방법!
def solution(L, x):
ans = []
for l in range(len(L)):
if L[l] == x:
ans.append(l)
if ans == []:
ans = [-1]
return ans
⭐ 힌트 풀이 : index()와 슬라이싱 활용하는 방법!
'데브코스 TIL > 자료구조, 알고리즘' 카테고리의 다른 글
6강: 알고리즘의 복잡도 (0) | 2023.10.16 |
---|---|
5강: 재귀 알고리즘 응용 (1) | 2023.10.16 |
4강: 재귀 알고리즘 기초 (0) | 2023.10.16 |
3강: 정렬(Sort), 탐색(Search) (0) | 2023.10.16 |
1강 : 안녕, 자료구조 & 알고리즘! (0) | 2023.10.16 |