📜 문제 내용 🤔 과정시작점은 반드시 obstacleGrid[0][0] 이며 도착점은 반드시 최우측 하단이다. Unique Paths 와 다르게 장애물을 고려해서 dp 배열을 구성한다. ✨ 최초 제출 답안 - 🙆♂️ 통과`class Solution { public int uniquePathsWithObstacles(int[][] obstacleGrid) { int m = obstacleGrid.length; // 행 크기 int n = obstacleGrid[0].length; // 열 크기 // dp 배열 초기화 int[] dp = new int[n]; dp[0] = 1; // 시작점 초기화 ..
📜 문제 내용 🤔 과정장애물도 없고, 도착 지점에 대한 모든 경우의 수를 찾는 문제이다. ✨ 최초 제출 답안 - 🙆♂️ 통과class Solution { public int uniquePaths(int m, int n) { int[][] wayCnt = new int[m][n]; Arrays.fill(wayCnt[0],1); for(int i = 1; i 🔗 문제 링크LeetCode - Unique Paths (링크)
📜 문제 내용 🤔 과정피로도를 담은 2차원 배열을 생성하고, 광물에 따른 피로도를 계산한다. 계산된 피로도를 내림차순으로 정렬하고 가지고 있는 곡괭이를 가지고 최솟값을 도출. ✨ 최초 제출 답안 - 🙆♂️ 통과import java.util.*;class Solution { // 피로도 표 static int[][] fatigueTable = {{1, 1, 1}, {5, 1, 1}, {25, 5, 1}}; public int solution(int[] picks, String[] minerals) { int answer = 0; List fatigueList = new ArrayList(); // 곡괭이의 총 개수 계산 ..
📜 문제 내용 🤔 과정남아있는 적의 수를 저장하고자 최대힙으로 구현한 PriorityQueue를 이용.기본적으로는 최소힙이지만, 최대힙으로 구현하기 위해 PriorityQueue의 비교자를 (a, b) -> b - a 로 설정.그러면 힙은 큰 값이 먼저 나오게 구성된다. ✨ 최초 제출 답안 - 🙆♂️ 통과import java.util.*;class Solution { public int solution(int n, int k, int[] enemy) { // 최대 힙을 구현하기 위해 음수를 저장하는 우선순위 큐 사용 PriorityQueue pq = new PriorityQueue((a, b) -> b - a); int totalSum = ..
📜 문제 내용 🤔 과정백트래킹으로 숫자 비교를 하면서 진행한다. 숫자 사용 여부의 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..