728x90
반응형

코딩테스트 4

[코딩테스트] 섹션2 - List

리스트(List) 리스트(List)는 일반적으로 Set과 비교됩니다. Set에서는 (1, 2, 3), (3, 1, 2), (2, 3, 1)은 모두 동일한 집합을 나타내는 것으로 간주됩니다. 하지만 리스트에서는 [1, 2, 3]과 [3, 1, 2]는 서로 다른 요소의 순서를 가지므로 다른 리스트로 취급됩니다. 즉, 리스트에서는 요소의 순서가 중요하게 다뤄집니다. Array list: array를 기반으로 구현된 리스트입니다. 이는 연속적으로 메모리에 저장되어 있는 데이터를 활용하여 리스트를 구성합니다. Linked list: 메모리상에서 비연속적으로 저장되어 있는 노드들을 연결하여 리스트를 저장하는 방식입니다. List로 분류되는 자료구조는 Python에서 Array list로 구현할 수 있으며, Link..

코딩테스트 2023.05.21

[코딩테스트] 섹션1 - INTRO

1. 코딩테스트 꿀팁 자료구조란 데이터를 저장하고 관리하는 방식 자료구조의 장점 데이터를 체계적으로 저장 메모리를 효율적으로 사용 빠르고 안정적으로 데이터 처리 ex) 30의 숫자를 저장한다고 가정했을때 Array자료구조를 사용하면 데이터를 효율적으로 저장하고 관리할 수 있다. A = [1, 30, 50, 80] 자료구조의 종류 (선형, 비선형) 자료구조를 배워야 하는 이유 특정 알고리즘을 구현하기 위해서 꼭 사용해야 하는 자료구조가 있을 수 있다. 또한 어떤 자료구조를 선택했는지에 따라서 사용할 수 있는 알고리즘이 달라진다. 알고리즘이란 문제를 해결하는 방법이다. 어떠한 문제를 해결하기 위해 정해진 일련의 절차나 방법이다. 자주 쓰이는 문제 해결 방법(알고리즘)은 패턴화 → BFS, DFS, Binar..

코딩테스트 2023.05.16

[코테-list] Array list - Array / Dynamic array

배열의 다양한 활용 1. 반복문 2. Sort & Two Pointer list와 array는 같이 쓰임 step1 : 문제 이해하기 step2 : 접근 방법 step3 : 코드 설계 step4 : 코드 구현 1. 반복문 step1 : 문제 이해하기 이 문제에서 n은 nums.length이다. n은 10^8을 초과할 수 없으므로 가능한 시간복잡도는 O(n^2), O(nlogn), O(n), O(logn), O(1) 이다. step2 : 접근 방법 직관적으로 생각하기 보통 완전탐색으로 시작(그냥 다 더해보는 것) -> O(n^2) 문제 상황을 단순화 하여 생각하기 문제 상황을 극단화 하여 생각하기 자료구조와 알고리즘 활용 "(1) 문제이해하기"에서 파악한 내용을 토대로 어떤 자료구조를 사용하는게 가장 적합..

코딩테스트 2023.04.15

[코테-List] Array

튜플은 순서가 중요하지 않음 (3,2,1) = (1,2,3) 리스트는 순서가 중요함 [1,2,3] != [3,2,1] List 란? Array list(Dynamic array) : 배열을 기반으로 만들어짐 -> 우리가 아는 python Linked list: 메모리상에서 비연속적으로 저장됨 배열(array)의 특성 고정된 저장 공간(fixed - size) : 선언시에 size가 정해져 있다. 순차적인 데이터 저장(order) : 정해진 size 만큼의 연속된 메모리를 할당받아 데이터를 연속적/순차적으로 저장한다. static array 정적 배열 int arr[5] = {3, 7, 4, 2, 6} 메모리에 저장된 데이터에 접근하려면 주소값을 알아야 한다. 배열변수 (arr)는 자신이 할당받은 메모리의..

코딩테스트 2023.04.15
728x90
반응형