자료구조

1. 선형 배열(Linear Arrarys)

코딩하는 Yang 2022. 7. 19. 10:29

- 선형배열은 데이터들이 선(line) 처럼 일렬로 늘어선 형태를 말한다. 보통 프로그래밍에서 배열 (array) 이라고 하면 같은 종류의 데이터가 줄 지어 늘어서 잇는것을 뜻하고 python에서는 서로 다른 종류의 데이터 또한 줄세울 수 잇는 리스트(list) 데이터형이 존재한다.

Python List에 활용할 수 있는 연산

리스트 길이와 관계없이 빠른 실행 결과를 보게되는 연산들

  • 원소 덧붗이기 .append()
  • 원소 하나를 꺼내기 .pop()
    위 연산은 리스트 길이와 무관하게 빠르게 연산 됌.

리스트 길이에 비례 실행 시간이 걸리는 연산

  • 원소 삽입 .insert()
  • 원소 삭제 .del()
    이런 연산은 리스트 길이가 길어질 수록 처리 시간이 증가.

- 프로그래머스 어서와! 자료구조와 알고리즘은 처음이지? 강의를 보며 정리한 글입니다.

실습 코드 - 정렬된 리스트에 원소 삽입

L = [20,37,58,71,91]
x = 65
def solution(L, x):
    answer = []
    if max(L) < x:
        L.append(x)
    else:
        for i,l in enumerate(L):
            if l > x:
                L.insert(i,x)
                break

    answer = L
    return answer

실습 코드 - 리스트에서 원소 찾아내기

L = [64, 72, 83, 72, 54]
x = 72

def solution(L, x):
    answer = []
    for i,l in enumerate(L):
        if l == x:
            answer.append(i)
    if answer == []:
        answer = [-1]
    return answer