# datastructure

스택(Stack) / 큐(Queue)
데이터를 임시 저장할 때 사용하는 자료구조후입선출(FILO) 방식기본데이터를 임시 저장할 때 사용하는 자료구조선입선출(FIFO) 방식🔄 순환 큐front와 rear가 연결되어 계속 순환하는 큐인덱스를 원형으로 돌려서 7이 0으로 가도록 %연산을 통해 구현🥇 우선순위
자료구조_해시(Hash)_JAVA
key : value의 값을 가지는 하나의 자료구조예) 전화번호부 ⇒ 검색창에 이름을 입력하면 전화번호 결과가 나옴무언가를 찾기 위한 검색어 (이름) = key그 검색어로 나온 결과 (전화번호) = value배열로는 오직 정수로만 접근이 가능함친구의 이름을 알더라도 이

Circular Queue(원형 큐)
A Queue wraps around the end of the array. Array positions are arranged in a circle rather than in a straight line.

Queue(큐)
An ordered list in which all insertions take place at one end(rear) and all deletions take place at the opposite end(front)

Stack(스택)
An ordered list in which insertions and deletions are made at one end called the top.

자바스크립트로 자료구조 연습하기 자료구조 data structure 정리
요즘 코딩테스트를 안보는 기업이 거의 없기때문에 코딩테스트 연습전 꼭 알아야할 기본 지식을 쌓고자 작성하게되었다. 자료구조란? 데이터에 편리하게 접근하고 변경하기 위해서 데이터를 저장하거나 조직하는 방법을 말한다. 즉 데이터를 얼마나 효율적으로 저장 및 관리하고 메모
시간복잡도
시간 복잡도 시간 복잡도는 서로 다른 알고리즘의 효율성을 비교할 때 사용합니다. 시간 복잡도에는 몇 가지 규칙이 있습니다. input ≥ 0 functions do more work for more input drop all constants ignore lower order terms ignore the base of logs 2n = O(...

[Algorithm/DataStructure] ArrayList와 LinkedList의 성능 비교 (feat. 왜 Queue는 LinkedList를 사용할까?)
알고리즘 문제를 푸는 중 문득 Queue는 왜 ArrayList가 아닌 LinkedList로 생성을 할까 궁금해졌다. 'Queue는 FIFO이기 때문에 ArrayList처럼 별다른 인덱스가 필요없기 때문이 아닐까?'라고 유추는 해보았다. 그러나 이 index 존재 여부

[Algorithm] 1302. 베스트 셀러
1302번 문제 보기문제 이해 하루동안 팔린 책 중 가장 많이 팔릭 책의 제목을 적어둠입력 첫째 줄 : 팔린 책의 개수 N (1 <= N <= 1,000)N개의 줄 : 책의 제목 (50자 이하, 알파벳 소문자)출력가장 많이 팔린 책의 제목여러 개일 경우 :

[Algorithm] 11286. 절댓값 힙
11286번 문제 보기문제 이해 :절댓값 힙 : 배열에 정수 x를 넣음 (x != 0)배열에서 절댓값이 가장 작은 값 출력, 그 값을 배열에서 제거절댓값이 가장 작은 값이 여러개일 경우 : 가장 작은 수 출력, 그 값을 배열에서 제거입력 : 첫째 줄 : 연산 개수 N

[Algorithm] 2164. 카드2
2164번 문제 보기1 <= N <= 500,000 N의 값이 꽤 크기에 시간복잡도를 고려할 것1번 과정. 맨 앞의 값을 삭제(삭제)2번 과정. 맨 앞의 값(삭제)을 맨 뒤로 보내기(삽입) 배열로 접근배열에서의 삽입/삭제 : $O(N)$→ 만약 하나의

[Algorithm] 9012. 괄호
9012\. 괄호 문제각각의 테스트 케이스는 독립적테스트 케이스 하나에 대해 어떻게 해결하면 되는지 알아내면 되는 문제올바른 괄호쌍을 구하는 문제 : 전형적인 Stack을 사용하는 문제ex) ((()))위의 경우 세 쌍의 괄호가 있음차례로 여는 괄호를 1, 2, 3이라