
자료구조 관련A. 뒤에 입력 : add B. 앞에서 뽑아서 출력 : offer (A. 앞에 입력 : addFirst() /offerFirst()B. 뒤에 입력 : add() / addLast() / offerLast()C. 앞에서 뽑아서 출력 : pollFirst()

배열을 좀 더 쉽게 쓸 수 있는 List<>에 대해 알아보자.초기 값은 아래와 같이 받을 수 있다.List<>는 4가지 메서드를 주로 사용한다.add() : 값을 추가할 때 쓴다. 변수타입에 맞춰 써준다.get() : 값을 호출할 때 쓴다. 순서를 써준다.r

자료구조 Stack과 Queue에 대해 알아보자!Stack은 후입선출 LIFO구조를 띈다.(Last-In-First-Out)add(=push)로 값을 더할 수 있다.pop(=remove)로 값을 빼낼 수 있다.주로 사용하는 메서드는 add(=push), pop(=rem

Set(집합)이란, 데이터 자료구조 중 하나를 뜻한다.값들을 중복으로 삽입이 불가능하다. 동일한 값이 삽입되면 하나의 값만 저장된다.데이터를 비순차적으로 저장할 수 있는 순열 자료구조이다.삽입한 데이터가 순서대로 저장되지 않는다.자주 사용되는 메서드로는 add()와 r

getOrDefault(키값, 대체할값)containsKey(키값) ⇒ boolean값으로 반환해준다.size() ⇒ key의 갯수를 알려준다.remove(키값) ⇒ 특정 키를 삭제한다.

💡 자료구조 Set에 대해 알아보자!Set(집합)이란, 데이터 자료구조(데이터 컬렉션) 중에 하나로 특정한 값들을 저장하는 추상자료형을 뜻한다.값들을 중복으로 삽입이 불가능하다. 동일한 값이 삽입되면 하나의 값만 저장된다.데이터를 비순차적으로 저장할 수 있는 순열 자

선형 자료구조란 하나의 자료 뒤에 하나의 자료가 존재하는 것이다.자료들 간의 앞뒤 관계가 1:1의 선형관계배열과 리스트가 대표적이고 더 나아가서 스택, 큐도 이에 해당된다.가장 간단한 자료구조접근 속도가 빠름기억장소를 연속으로 배정받기 때문에 기억장소 이용 효율은 밀도

문장마다 기능을 적어놓자.그리고 문장 순서대로 코드를 설계하는 것이 좋다. 또한, 문제의 키워드를 어느 정도 유추하자. ex.~하면, 경우에는, ~때, 하지만(제약조건) -> IF문순으로(순서) -> 정렬~부터 ~까지 -> for문다음과 같은 규칙을 따른다. -> 순

소수(Prime Number)를 판별하는 알고리즘이다.소수들을 대량으로 빠르고 정확하게 구하는 방법이다.어떤 수의 소수의 여부를 확인 할 때는, 특정한 숫자의 제곱근 까지만 약수의 여부를 검증하면 O(N^1/2)의 시간 복잡도로 빠르게 구할 수 있다.수가 수(N이라고

💡 재귀함수를 공부하기 전, 함수에 대해 복습하고 넘어가자하나의 기능을 수행하는 일련의 코드를 함수라고 한다.로 보면 편하다.ex. 숫자를 문자로 변환하는 함수재귀의 설명 그대로 함수에서 자기 자신을 다시 호출해 작업을 수행하는 방식이다. 특정 분기까지 자기 자신을

재귀함수를 좀 더 빨리 돌려보자해를 찾는 도중 해가 아니어서 막히면, 되돌아가서 다시 해를 찾아가는 기법. 해를 찾아가는 도중, 지금의 경로가 해가 될 것 같지 않으면 그 경로를 더이상 가지 않고 되돌아간다.코딩에서는 반복문의 횟수까지 줄일 수 있으므로 효율적입니다.가

만약 13부터 1억까지의 숫자 합과 2543부터 2억까지의 합의 차를 구하라는 문제가 나온다면?일반적으로 for문을 여러 번 돌릴 것이라 생각한다.숫자가 작을 때에는 for문을 여러번 돌려도 상관 없지만 어마어마한 큰 수가 나온다면?for문을 1억번 돌리면 1초가 걸린

‘큰 문제’를 ‘작은 문제’로 나누어서 해결하는 알고리즘을 의미한다.해당 알고리즘을 활용하여 크고 방대한 문제를 해결할 때 유용한 알고리즘.구체적으로 하나의 큰 문제를 작은 부분 문제들로 나눈 뒤, 나눈 부분 문제를 해결하고 해결된 해들을 모아 원래의 문제를 해결해 나

DFS vs BFS 한 눈에 이해하기DFS vs BFS 한 눈에 이해하기루트 노드(혹은 다른 임의의 노드)에서 시작해서 인접한 노드를 먼저 탐색하는 방법시작 정점으로부터 가까운 정점을 먼저 방문하고 멀리 떨어져 있는 정점을 나중에 방문하는 순회 방법이다.깊게(deep)

💡 DFS vs BFS 한 눈에 보기각 정점 노드를 깊게 탐색하는 방식으로 매 탐색을 stack으로 쌓으면서 갈 수 있는 최대한 깊이를 탐색하고 갈 곳이 없다면 이전 정점으로 돌아간다.넓게(wide) 탐색하기 전에 깊게(deep) 탐색하는 것이다.모든 노드를 방문 하