웹 서비스 개발(FB,BE,SERVER,DB)/Algorithm

2. 배열(Array)과 리스트(List)

Zoo_10th 2024. 1. 14.

1. 파이썬의 리스트와 배열

1-1. 파이썬에서의 배열과 리스트

  - 파이썬의 리스트 : 파이썬에서는 배열의 개념을 리스트로 대신한다. 리스트는 동적 배열로 연속된 메모리에 객체의 주소를 지정한다.

  - 배열의 정의

     * 배열이란 : 동일한 종류의 데이터를 순서대로 저장하는 구조이다. 배열의 각 데이터는 메모리상에서 서로 연속적으로 위치한다.

     * 동일한 자료형 : 배열에 저장되는 각 데이터(또는 '원소')는 같은 크기와 자료형을 가진다. 

     * 연속된 메모리 공간 : 배열의 원소들은 메모리 상에서 서로 바로 옆에 위치한다. 데이터를 빠르게 읽고 쓸 수 있게 해준다.

 

1-2. 배열 특징

  - 인덱스 접근 : 배열은 인덱스를 통해 임의의 원소에 빠르게 접근할 수 있다.

  - 원소 추가/삭제의 비효율성 : 배열에서 원소를 추가하거나 삭제할 때 다른 원소들을 이동시켜야 하므로 시간이 걸린다.

  - 용도 : 스택, 큐, 힙, 해시 테이블, 행렬 등의 구현과 정렬 알고리즘에 사용된다. 

 

1-3. 파이썬 리스트의 특징

  - 동적 배열 : 리스트는 동적 배열로서, 배열의 크기를 동적으로 조정할 수 있다.

  - 다양한 자료형 저장 : 파이썬 리스트는 다양한 자료형을 저장할 수 있다.

  - 객체의 주소 저장 : 연속된 메모리에는 객체의 주소가 저장되며, 이를 통해 인덱싱으로 각 원소에 접근할 수 있다.  

1-4. 단일 자료형 배열의 사용

  - array 모듈 : 문자, 정수, 실수 같은 단일 자료형을 사용할 때 array 모듈의 array 클래스를 활용할 수 있다. 사용법은 리스트와 유사하다.

 

2. 배열을 활용한 알고리즘 문제

2-1. 정수 배열에서 가장 큰 두수 찾기

정수로 이루어진 배열이 주어질 때, 가장 큰 두 수를 찾아 [가장 큰 값, 둘째로 큰 값]을 반환하는 함수를 완성하시오

 

2-2. 회문(Palindromes) 찾기

회문(Palindrome)은 앞에서 읽으나 뒤에서 읽으나 같은 단어 또는 문장을 의미한다.

 

2-3. 0과 1로 구성된 배열 정리하기

 

728x90

'웹 서비스 개발(FB,BE,SERVER,DB) > Algorithm' 카테고리의 다른 글

6. 해시 테이블(Hash Table)  (0) 2024.01.15
5. 큐(Queue)  (0) 2024.01.15
4. 스택(stack)  (0) 2024.01.15
3. 연결 리스트(Linked List)  (0) 2024.01.15
1. 자료구조와 알고리즘  (0) 2024.01.14

댓글