Home
jimin's blog
Cancel

List

List 란? 순서가 있는 데이터들의 집합 불연속적인 메모리 공간에 데이터들이 연관되며 포인터를 통해 각 데이터들이 연결 리스트는 동적으로 크기가 결정 단순 배열에 비해 데이터의 삽입, 삭제가 용이하고 메모리의 재사용성이 높음 List 종류 ArrayList LinkedList 참고 사이트 https://d...

LinkedList

LinkedList란? 각 노드가 ‘데이터’와 ‘포인터’를 가지고 한 줄로 연결되어 있는 방식의 자료구조 자바의 List 인터페이스를 상속받은 여러 클래스 중 하나 Collection 프레임워크의 일부, java.util 패키지에 소속 내용 특징 데이터를 담고 있는 노드들이 앞,뒤로 연결 데이터 삽입 시 목표 노드의 앞,뒤...

LinkedHashMap

LinkedHashMap LinkedHashMap 이란? Map 인터페이스를 구현한 Map 구현체 중 하나 LinkedList로 저장되어 순서가 있다. 내용 특징 내부적으로 LinkedList를 사용하므로 값을 출력할 때 순서대로 출력되어 나온다. 순서 말고는 HashMap과 다른 것이 없음 즉, 삽입 순서를 보장하는 H...

Heap

Heap 이란? 최소값 및 최대값을 최대한 빠르게 찾아내기위해 특별히 고안된 자료 구조 완전 이진트리(마지막 레벨을 제외하고 모든 레벨이 완전히 채워져 있는 트리의 형태)를 기본으로 하고 있음 일종의 반정렬(상하로만 정렬, 좌우는 정렬x) 상태를 유지한다 Heap 특징 트리 형태의 자료구조 힙의 종류에 따라 상 하의 관계만...

HashSet

HashSet 이란? HashSet은 Set의 파생클래스로 Set 인터페이스에서 지원하는 구현 클래스이다. 내용 특징 중복된 원소를 허용하지 않는다. 중복을 걸러내는 과정 HashSet은 객체를 저장하기 전에 먼저 객체의 hashCode()메소드를 호출해서 해시 코드를 얻어낸 다음...

HashMap

HashMap HashMap 이란? Map 인터페이스를 구현한 Map 구현체 중 하나로 가장 많이 사용된다 해시 알고리즘(hash algorithm)을 사용하여 많은 양의 데이터를 검색하는데 검색 속도가 매우 빠르다. HashMap 특징 key와 value를 묶어 하나의 entry로 저장한다 내부적으로 array 사용 → i...

Deque

Deque란? Queue의 양쪽으로 엘리먼트의 삽입과 삭제를 수행할 수 있는 자료구조 Doubel-Ended Queue의 줄임말 java.util 패키지 소속 Deque 특징 Deque는 인터페이스로 구현되어 있음 → ArrayDeque, LinkedList 등의 구현체 존재 null 허용 안함 사용하기에 따라 Stac...

ArrayList

ArrayList란? 크기가 가변적으로 변할 수 있는 배열 내부적으로 배열을 사용해 데이터를 저장 자바의 List 인터페이스를 상속받은 여러 클래스 중 하나 Collection 프레임워크의 일부, java.util 패키지에 소속 ArrayList특징 크기가 고정된 배열과 달리 데이터가 추가될 때 자동으로 크기가 증가 배...

프로그래머스(타겟 넘버)

첫 시도 배열크기가 20까지, +,- 두 가지 연산이 필요하므로 2^20 → 10^6 단순하게 브루트 포스로 해결 가능 백준과 답안작성 방법이 달라 꽤나 고생, 적응에 시간이 걸릴듯 해결 내용 class Solution { int[] numbers; int target; int answer; ...

프로그래머스(단어 변환)

첫 시도 dfs와 백트래킹을 이용하여 문제를 해결 먼저 word 배열 순회하면서 begin과 다른 단어가 1개인지 확인 → 배열의 크기 n이 50, 문자열의 길이m이 10까지라서 완전탐색 사용가능 → O(n^2m) → 2,500번 bfs가 아닌 dfs를 사용하므로 다시 return하기 전에 배열은 false로 바꿔줘야함(백트래킹) b...