📜 문제 내용 🤔 과정백트래킹으로 숫자 비교를 하면서 진행한다. 숫자 사용 여부의 Boolean 배열 used, 부등호가 담긴 String 배열 signs 을 생성해 확인하면서 진행. ✨ 최초 제출 답안 - 🙆♂️ 통과import java.util.*;import java.io.*;public class Main { public static int k; public static String[] signs; public static boolean[] used = new boolean[10]; public static List result = new ArrayList(); public static void main(String[] args) throws IOExceptio..
📜 문제 내용 🤔 과정BFS와 인접연결리스트를 통해서 양방향의 연결을 모두 저장시킨다. ✨ 최초 제출 답안 - 🙆♂️ 통과import java.util.*;public class Solution { public static List> graph; public int solution(int n, int[][] wires) { int answer = n; graph = new ArrayList(); // 인접 리스트 초기화 for (int i = 0; i ()); } // 그래프에 간선 양방향 추가 for (int i = 0; i queue = new LinkedL..
📜 문제 내용 🤔 과정최단거리를 찾는 문제로, BFS와 boolean형의 방문 배열을 활용하면 된다. Delta 배열과 Queue, 경계 범위 조건을 활용해 문제를 풀이. ✨ 최초 제출 답안 - 🙆♂️ 통과import java.util.LinkedList;import java.util.Queue;class Solution { public static int[] dr = {1, -1, 0, 0}; public static int[] dc = {0, 0, 1, -1}; public int solution(int[][] maps) { int n = maps.length; // 행 int m = maps[0].length; // 열 ..
📜 문제 내용 🤔 과정DFS를 이용하여 모든 경우의 수를 탐색해야겠다고 판단. 더하는 경우와 빼는 경우를 따로 탐색시키고, 맨 마지막에 전체 경우의 수 반환을 위해 두 경우의 수를 더해준다. 모든 숫자를 전부 사용했고, 마지막 결과값이 타겟 넘버와 같으면 경우의 수를 1 더해주고, 아니면 0 처리 진행. ✨ 최초 제출 답안 - 🙆♂️ 통과class Solution { public int solution(int[] numbers, int target) { return dfs(numbers, target, 0, 0); } public int dfs(int[] numbers, int target, int idx, int sum){ // 모든 숫자 사용 시 처리..
📜 문제 내용 🤔 과정방문 배열과 BFS로 해결할 수 있었다. 시작점을 찾은 뒤, 델타 배열을 이용해 4방 탐색을 BFS를 진행한다.BFS 진행 시, 범위와 방문 여부, 장애물 여부를 검사하면서 진행하고, 미방문 시 node를 추가시켜준다. 목표 지점에 도착하면 이동 횟수 반환 ✨ 최초 제출 답안 - 🙆♂️ 통과import java.util.*;class Solution { // 델타 배열: 상, 하, 좌, 우 public static int[] dr = {1, -1, 0, 0}; public static int[] dc = {0, 0, 1, -1}; public int solution(String[] board) { int n = board.length; ..