목록2025/05/16 (4)
변수의 기록

package test;import java.util.*;import java.io.*;/*범위가 20개씩이니깐 bfs보다 dfs 접근이 좋을듯 X = {-1,1,0,0} 상하좌우 + 세로Y = {0,0,-1,1} 상하좌우 + 가로세로 R 가로 C 대문자 CHAR (1,1) H (말 이동 가능 그러나 다음칸이 지금까지 지나온 알파벳 X ) *시작도 +1 로 해야함 문제 - 말이 지날 수 있는 최대의 칸수 DFS 깊은 탐색 여러 케이스 필요함. 백트레킹에서 굳이 따지자면 조합? ex)2 4CAABADCBCABBBDDDBBBDBBB */public class Backjun_1987 { static int r, c, max = 0; static char[][] b..
✅ 백트래킹 (Backtracking) 정의백트래킹은 해를 찾는 도중에이 경로로는 정답이 나올 수 없다는 판단이 들면,되돌아가서 다른 경로를 시도하는 방식의 탐색 알고리즘입니다. 즉, 가능성이 없는 분기(branch)는 더 이상 탐색하지 않고 "되돌아가서(back)" 다른 선택지를 탐색한다는 의미입니다.📦 쉽게 말하면완전탐색을 하긴 하지만,쓸데없는 탐색을 줄이기 위해조건에 맞지 않으면 재귀를 끝내고 뒤로 돌아감🔁 백트래킹의 핵심 요소요소설명재귀(DFS)모든 선택지를 탐색함조건 체크현재 경로가 유망하지 않으면 중단원상복구재귀 호출 후에는 상태를 되돌림 (백트래킹)가지치기더 이상 유효하지 않으면 탐색 종료 (Pruning) 🎯 언제 쓰는가?상황설명모든 경우를 탐색하되, 조건이 있음예: 합이 특정 값..

package test;import java.io.*;import java.util.*;public class Backjun_6603 { static int n; static int[] list; static int[] result = new int[6]; public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); while (true) { String line = br.readLine(); StringTokenizer st =..

내가 제출한 답 package test;import java.util.*;import java.io.*;public class testest { static int n, s, result = 0; static int[] list; public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringTokenizer st = new StringTokenizer(br.readLine()); n = Integer.parseInt(st.nextToken()); ..