새소식

알고리즘/코딩테스트 합격자 되기

[코딩 테스트 합격자 되기]2주차 - 5장 배열

  • -
728x90
반응형

코딩 테스트 합격자 되기 1회독 스터디 내용입니다.

코딩테스트 합격자 되기 - 05 배열 : 네이버 카페 (naver.com)

 

 

배열

인덱스와 값을 일대일 대응해 관리하는 자료구조

차원과는 무관하게 메모리에 연속 할당됨


 

배열 선언 방법

1차원

리스트 생성자를 사용하는 방법

arr = [0 for _ in range(6)]     # [0, 0, 0, 0, 0, 0]

리스트 컴프리헨션을 활용하는 방법

arr = [0 for _ in range(6)]     # [0, 0, 0, 0, 0, 0]

 

 

2차원

리스트 생성자를 사용하는 방법

arr = [[1, 2, 3], [4, 5, 6]] # ➊ 2행 3열 2차원 배열을 표현하는 리스트 선언

리스트 컴프리헨션을 활용하는 방법

# 크기가 3 * 4인 리스트를 선언하는 예
arr = [[i]*4 for i in range(3)] # [[0, 0, 0, 0], [1, 1, 1, 1], [2, 2, 2, 2]]

 

⭐배열을 선택할 때 고려할 점

  1. 할당할 수 있는 메모리 크기
    • 데이터가 너무 많으면 런타임 에러 발생
    • 1차원은 1000만개, 2차원은 3000 * 3000 크기를 최대로 생
  2. 중간에 데이터 삽입이 많은지
    • 배열은 선형 자료구조
    • 중간이나 처음에 데이터를 빈번이 삽입하면 시간 복잡도가 높아짐(마지막에 넣을때는 한번에 가능

 

리스트 컴프리헨션으로 데이터에 특정 연산 적

리스트 내 모든 데이터 제곱

numbers = [1, 2, 3, 4, 5]
squares = [num**2 for num in numbers] # [1, 4, 9, 16, 25]
728x90
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.