반응형
배열이란?
배열이란 연관된 데이터를 하나의 변수에 그룹핑해서 관리하기 위한 방법
리스트 길이과 관계 없이 빠르게 실행 결과를 보게되는 연산들
- 요소 마지막에 추가 .append('삽입할 요소')
- 요소 마지막 혹은 지정된 인덱스에서 꺼내기 .pop('꺼낼 인덱스')
리스트의 길이에 비례해서 실행 시간이 걸리는 연산들
- 요소 삽입하기 '리스트명'.insert('인덱스', '삽입할 요소')
- 요소 삭제하기 del('리스트명['인덱스']')
리스트의 길이에 실행 시간이 비례.
오래걸리는 이유는? 리스트의 중간이 수정되어 전체 인덱스가 변경되기 때문.
추가 다른 연산
- 요소 탐색하기: '리스트명'.index('찾을 요소')
실습1. 리스트 L 에 정수 x를 숫자 크기에 알맞게 넣는 코드
def solution(L, x):
for i, l in enumerate(L):
if l > x:
L.insert(i, x)
break
L.append(x)
return L
실습2. 리스트 L 에 정수 x의 인덱스를 찾는 코드
def solution(L, x):
answer = []
for i, v in enumerate(L):
if not x in L:
answer.append(-1)
break
elif x in L[i:i+1]:
# answer.append((L[i:i+1].index(x)+i))
answer.append(i) # 11번 라인과 동일한 값이다.
return answer
컴프리핸션을 사용하면 이렇게도 줄일 수 있다.
def solution(L, x):
answer = [i for i, v in enumerate(L) if v == x]
return answer or [-1]
반응형
'나는 이렇게 학습한다 > Algorithm & SQL' 카테고리의 다른 글
약수의 합 (0) | 2022.01.26 |
---|---|
이상한 문자 만들기 (0) | 2022.01.25 |
정렬(sort)과 탐색(search) (0) | 2022.01.25 |
자릿수 더하기 (0) | 2022.01.24 |
자연수 뒤집어 배열로 만들기 (0) | 2022.01.24 |