💡 그래프 : 노드(node)와 노드 사이에 연결된 간선(edge)의 정보를 가지고 있는 자료구조‘서로 다른 개체가 연결되어 있다 → 그래프 알고리즘 고려ex) 여러개의 도시가 연결되어 있다.💡 트리 : 두 개의 노드 사이에 반드시 1개의 경로만을 가지며 사이클이
해시 (Hash) > 📎 **Hash Function : 임의의 데이터를 고정된 길이의 데이터로 매핑하는 단방향 함수. 📎 Hashing : 해시함수를 이용해서 데이터를 해시 테이블에 저장하고 검색하는 기법.** Hash function 보통 복잡하지 않은 알
리스트는 배열과 비슷한 자바의 자료형으로 배열보다 편리한 기능을 많이 가지고 있다.배열과의 가장 큰 차이는 크기가 정해져 있지 않고 동적으로 변한다는 점이다. 동적으로 자료형의 갯수가 가변한는 상황이라면 List를 사용하는 것이 유리하다.List 자료형 중 가장 간단한
데이터구조는 1) 데이터를 구성하고 저장하는 방법을 설명하며 2) 데이터를 식별하는 방법을 제공하고 3) 데이터의 관계를 보여주는 개념이다.알고리즘은 문제를 해결하기 위해 사용하는 일련의 단계다.문제를 해결하려면 알고리즘이 단순하고 명확하며 모호하지 않아야 한다.데이터
그리디 알고리즘 = 탐욕법'현재 상황에서 지금 당장 좋은 것만 고르는 방법'매 순간 가장 좋아 보이는 것을 선택하며, 현재의 선택이 나중에 미칠 영향에 대해서는 고려하지 않는다.그리디 알고리즘은 유형이 다양하기 때문에 암기한다고 해서 항상 잘 풀 수는없다.특정 문제를
버블, 선택, 삽입, 병합, 퀵 정렬 등이 있는데 이 중에서 가장 빠른 정렬이 퀵정렬이다. 시간복잡도가 O(NlogN)이다. 속도가 log로 나온다면 연산해야 할 횟수가 절반 혹은 1/n으로 줄어든다는 뜻이다. 가장 느릴때는 O(N^2)이 나오기도 하지만 매번 한개의
백준 9253번에서 문제의 조건은 동일하다. 편의상 사용자가 출력한 문자열의 길이가 문제의 답과 동일하고, 답은 0보다 크다고 가정한다.이라는 조건이 있다. 따라서 세번째로 오는 문자열이 위의 두 문자열에 포함되는지 여부만 확인하면 된다.백준 9253문제를 풀면서 co