본문 바로가기

전체 글59

그래프 탐색 알고리즘 DFS, BFS 그래프 탐색 알고리즘 탐색이란 많은 양의 데이터 중 원하는 데이터를 찾는 과정 대표적인 그래프 탐색 알고리즘 DFS, BFS 활용되는 자료구조 스택 자료 구조 먼저 들어온 자료가 나중에 나가는(선입후출) 자료구조 입구와 출구가 동일한 형태 큐 자료구조 먼저 들어온 데이터가 먼저 나가는 형식(선입선출)의 자료구조 입구와 출구가 모두 뚫혀 있는 터널과 같은 형태 DFS (깊이 우선 탐색) 개념 그래프에서 깊은 부분을 우선적으로 탐색하는 알고리즘 스택 자료구조를 이용하거나 재귀 함수로 구현 핵심 이론 DFS는 한 번 방문한 노드를 다시 방문하면 안되므로 노드 방문 여부를 체크할 배열이 필요 과정 탐색 시작 노드를 스택에 삽입하고 방문처리 스택의 최상단 노드에 방문하지 않은 인접한 노드가 하나라도 있다면 그 노.. 2024. 1. 23.
백준 2851번 - 슈퍼 마리오 (JAVA) 문제 풀이 현재까지 먹은 버섯을 저장하는 변수 sum 100과의 차이를 나타내는 변수 diff 받은 점수를 저장하는 변수 answer sum에 입력되는 버섯 더하기 100에서 현재까지 먹은 버섯합계를 뺀 절대값이 차이값보다 작거나 같다면 차이값 갱신시켜주고 answer에 현재까지 먹은 버섯 합계 넣기 import java.io.*; public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); BufferedWriter bw = new BufferedWriter(new OutputStreamWr.. 2024. 1. 23.
백준 2309번 - 일곱 난쟁이 (Java) 풀이 과정 - 1 반복문을 돌면서 7명의 난쟁이의 키를 합했을 때 100이 되는 경우를 찾음 중첩된 반복문이 여러 개였기 때문에 빠져나갈 반복문명(라벨)을 정해두고 조건이 일치했을 때 한 번에 나감 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.Arrays; public class Main_2309 { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamRe.. 2024. 1. 20.
완전 탐색(Brute Force) 개념 발생 가능한 모든 경우의 수를 다 해보는 방법 종류 순열 백트래킹 BFS / DFS 재귀 함수 비트마스크 활용문제 백준 2798번 - 블랙잭 백준 2798번 - 블랙잭 (JAVA) 풀이과정 BufferedReader 사용해 입력받은 수를 변수와 배열에 저장 반복문을 돌 때 3장의 카드를 골라야하기 때문에 처음 반복문에서는 배열 길이에서 -2까지, 두 번째 반복문에서는 첫 번째 반복문 ek0129.tistory.com 백준 2309번 - 일곱 난쟁이 백준 2309번 - 일곱 난쟁이 (JAVA) 풀이 과정 - 1 반복문을 돌면서 7명의 난쟁이의 키를 합했을 때 100이 되는 경우를 찾음 중첩된 반복문이 여러 개였기 때문에 빠져나갈 반복문명(라벨)을 정해두고 조건이 일치했을 때 한 번에 나 ek0129... 2024. 1. 19.