Algorithm & Data Structure/개념
[Concept] 배열 - 큐와 스택
#자료구조_배열 [파이썬의 배열] 리스트 활용 1차원, 2차원까지는 알고 있으면 좋다. 같은 종류의 데이터를 순차적으로 저장한다. Q. 왜 필요한가? A. 같은 종류의 데이터를 효율적으로 관리하기 위해 사용하기 위해! [단점] 데이터 추가/삭제의 어려움 미리 최대 길이를 지정해야 하는 점 Q. Why? A. 삭제 시, 뒤에 있던 데이터를 앞당겨야하기 때문이다. [장점] 인덱스를 통해 빠른 접근 가능하다. 첫 데이터의 위치에서 상대적인 위치로 데이터에 접근(인덱스 번호로 접근)한다. # 자료구조_큐(Queue) [큐] 줄을 서는 행위와 유사 FIFO(First-In, First-Out) 또는 LILO(Last-in, Last-Out) 방식. 스택 Q.큐에 값을 넣은 상태에서, 데이터를 꺼내라는 명령을 내리..
[Concept] 자료구조와 알고리즘
# 자료구조와 알고리즘 [자료구조] Data Structure, 데이터 구조 효율적인 데이터 관리의 예 학생에게 학년&반&번호를 부여하는 것 우편번호 대표적인 자료구조 : 배열, 스택, 큐, 링크드 리스트, 해쉬테이블, 힙 [알고리즘] 어떤 문제를 풀기 위한 절차와 방법 사람마다 문제를 다르게 푸는데, 이 풀이 방법들 중 좋은 알고리즘의 기준은 시간과 공간! 즉, 메모리 공간과 시간 복잡도를 고려하는 것이다. 어떤 자료구조와 알고리즘을 쓰느냐에 따라, 성능이 달라지기 때문에 "자료구조"와 "알고리즘"이 중요한 것. Q. 코딩테스트를 왜 하나요? A. 개발자는 어떤 문제를 해결할 수 있는 능력을 업으로 하기 때문에, 이를 평가 하기 위해 자료구조와 알고리즘을 성능이 좋은 코드로 작성할 수 있느냐!를 검증하..
코딩 테스트 개요와 파이썬 문법 기초1 (자료형)
Youtube '동빈나' - [이코테 2021 강의 몰아보기] 영상을 보고 복습하는 글입니다. 1. 알고리즘 코딩테스트에 대한 이해 ㄱ. 알고리즘 코딩테스트 유형 분석 구현 > 그리디 > BFS/DFS > (정렬=다이나믹 프로그래밍>이진 탐색>최단 경로>그래프 이론) ㄴ. 알고리즘 성능 평가 ▶복잡도 (함수의 성능적인 측면에서의 복잡도) 시간 복잡도: 특정한 크기의 입력에 대하여 알고리즘의 수행 시간 분석 공간 복잡도: 특정한 크기의 입력에 대하여 알고리즘의 메모리 사용량 분석 ▶빅오 표기법(Big-O Notation) 가장 빠르게 증가하는 항만을 고려하는 표기법 (차수가 가장 큰항만 남김) ex) 3N^3 + 5N^2 + 1,000,000 -> O(N^3)으로 표현. ㄷ. 알고리즘 문제 해결 과정 ⑴ ..