코딩 테스트 합격자 되기 파이썬 편
-
묘공단 (코딩 테스트 합격자 되기 파이썬편)코딩 테스트 합격자 되기 파이썬 편 2024. 2. 1. 10:37
해시? 해시란 해시 함수를 사용해서 변환한 값을 인덱스 값을 인덱스로 삼아 키와 값을 저장해서 빠른 데이터 탐색을 제공하는 자료구조이다. 보통은 인덱스를 이용하여 탐색을 빠르게 하지만 해시는 키를 활용해 데이터를 탐색한다. 해시의 특징 해시는 단방향으로 동작한다. 키를 통해 값을 찾을 수 있지만 값을 통해 키는 찾을수 없다. 찾고자 하는 값을 O(1)에서 바로 찾을 수 있다. 키 자체가 해시 함수에 의해 값이 있는 인덱스가 되므로 값을 찾기 위한 탐색 과정이 필요 없다. 값을 인데스로 활용하려면 적절한 변환 과정을 거쳐야한다. 해시를 사용하지 않는다면 일어나는 일 만약 해시를 사용하지 않는다면 값의 위치에 대한 어떠한 정보도 알 수 없다. 따라서 아래의 그림과 같이 어떤 데이터를 찾으려면 전체 데이터를 ..
-
묘공단 (코딩 테스트 합격자 되기 파이썬편)코딩 테스트 합격자 되기 파이썬 편 2024. 1. 26. 11:40
큐? 큐(queue)는 ‘줄을 서다’라는 뜻을 갖고있다. 큐는 먼저 들어간 데이터가 먼저 나오는 자료구조이며, 즉 선입선출 또는 FIFO라고 한다. 스택과 마찬가지로 삽입하는 연산을 푸시, 꺼내는 연산을 팝이라고 합니다. 큐에서 데이터가 이동하는 과정 빈 큐를 하나 선언한다. 원소를 삽입한다. 빈 큐이므로 제일 앞에 삽입한다. 이어서 5를 삽입한다. 5는 2 다음으로 삽입했으니 2보다 뒤에 있다. 팝을 하면 5가 아닌 2가 먼저 나온다. 이어서 팝을 한 번 더 진행하면 5가 빠져나온다. 큐의 특성을 활용하는 두가지 방법 작업 대기열 : 네트워크 통신을 할 때 다수의 클라이언트에서 서버에서 작업을 요청하면 서버는 요청이 들어온 순서대로 작업을 처리한다. 이러할 때 큐를 활용가능. 이벤트 처리 : 어떤 애플..
-
묘공단 (코딩 테스트 합격자 되기 파이썬편)코딩 테스트 합격자 되기 파이썬 편 2024. 1. 17. 07:04
스택 1. 스택의 개념 스택 스택(stack)의 어원은 쌓는다 이다. 어원에서 짐작할 수 있듯이 스택은 먼저 입력한 데이터를 제일 나중에 꺼낼 수 있는 자료구조입니다. 비유를 하자면 물티슈와 같다고 볼 수 있다. 이렇게 먼저 들어간 것이 마지막에 나오는 규칙을 선입후출 또는 FILO(First In Last Out)이라고 한다. 이때 스택에 삽입하는 연산을 푸시(push), 꺼내는 연산을 팝(pop)이라고 한다. 스택의 동작 원리 초기에는 빈 스택이 있다. 여기에 데이터 ‘1’을 푸시해보자. 그럼 다음의 그림과 같다. 여기에 데이터 ‘2’를 푸시하면 1위로 2가 올라간다. 팝을하면 가장 위에 있는 데이터인 ‘2’가 빠져나오게 된다. 다시 데이터 ‘3’을 푸시하면 ‘1’ 위에 ‘3’이 위치하게 된다. 다시..
-
묘공단 (코딩 테스트 합격자 되기 파이썬 편)코딩 테스트 합격자 되기 파이썬 편 2024. 1. 10. 23:14
1. 배열 1.1 배열 선언 방법 arr1 = [0, 0, 0, 0, 0, 0] arr2 = [0] * 6 #arr1과 결과값 동일 arr3 = lsit(range(6)) #[0, 1, 2, 3, 4, 5] #리스트 컴프리헨션 사용 arr4 = [0 for _ in range(6)] #arr1과 결과값 동일 1.2 배열과 차원 1) 1차원 배열 제일 간단한 배열의 형태. 2) 2차원 배열 1차원 배열을 좀 더 확장한 형태. 2-1) 2차원 배열 표현 arr1 = [[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12]] print(arr1[2][3]) #12 arr1[2][3] = 15 print(arr1[2][3]) #15 리스트 컴프리헨션 사용 arr2 = [[i]*4 f..