본문 바로가기

알고리즘2

그래프 탐색 알고리즘 DFS, BFS 그래프 탐색 알고리즘 탐색이란 많은 양의 데이터 중 원하는 데이터를 찾는 과정 대표적인 그래프 탐색 알고리즘 DFS, BFS 활용되는 자료구조 스택 자료 구조 먼저 들어온 자료가 나중에 나가는(선입후출) 자료구조 입구와 출구가 동일한 형태 큐 자료구조 먼저 들어온 데이터가 먼저 나가는 형식(선입선출)의 자료구조 입구와 출구가 모두 뚫혀 있는 터널과 같은 형태 DFS (깊이 우선 탐색) 개념 그래프에서 깊은 부분을 우선적으로 탐색하는 알고리즘 스택 자료구조를 이용하거나 재귀 함수로 구현 핵심 이론 DFS는 한 번 방문한 노드를 다시 방문하면 안되므로 노드 방문 여부를 체크할 배열이 필요 과정 탐색 시작 노드를 스택에 삽입하고 방문처리 스택의 최상단 노드에 방문하지 않은 인접한 노드가 하나라도 있다면 그 노.. 2024. 1. 23.
완전 탐색(Brute Force) 개념 발생 가능한 모든 경우의 수를 다 해보는 방법 종류 순열 백트래킹 BFS / DFS 재귀 함수 비트마스크 활용문제 백준 2798번 - 블랙잭 백준 2798번 - 블랙잭 (JAVA) 풀이과정 BufferedReader 사용해 입력받은 수를 변수와 배열에 저장 반복문을 돌 때 3장의 카드를 골라야하기 때문에 처음 반복문에서는 배열 길이에서 -2까지, 두 번째 반복문에서는 첫 번째 반복문 ek0129.tistory.com 백준 2309번 - 일곱 난쟁이 백준 2309번 - 일곱 난쟁이 (JAVA) 풀이 과정 - 1 반복문을 돌면서 7명의 난쟁이의 키를 합했을 때 100이 되는 경우를 찾음 중첩된 반복문이 여러 개였기 때문에 빠져나갈 반복문명(라벨)을 정해두고 조건이 일치했을 때 한 번에 나 ek0129... 2024. 1. 19.