리트코드 - 322. Coin Change 출처 - https://leetcode.com/problems/coin-change/description/?envType=study-plan-v2&envId=top-interview-150 문제 설명 주어진 정수 배열 coins는 서로 다른 액면가를 나타내는 동전들이며, 정수 amount는 총 금액을 나타냅니다. 이 금액을 만들기 위해 필요한 동전의 최소 개수를 반환하세요. 만약 주어진 동전들의 조합으로 해당 금액을 만들 수 없다면 -1을 반환하세요. 각 동전의 수량이 무한하다고 가정할 수 있습니다. 의사코드 n = coins배열의 길이 dp = new int[amount + 1] Arrays.fill(dp, Integer.MAX_VALUE) dp[0] = 0 ..
리트코드 - 139. Word Break 출처 - https://leetcode.com/problems/word-break/description/?envType=study-plan-v2&envId=top-interview-150 문제 설명 주어진 문자열 s와 문자열 사전 wordDict가 있을 때, 만약 s를 하나 이상의 사전 단어로 이루어진 공백으로 구분된 시퀀스로 나눌 수 있다면 true를 반환합니다. 단어 사전에서 동일한 단어가 세그먼트 내에서 여러 번 재사용될 수 있음에 유의하세요. 의사코드 wordDict의 크기가 0이면 false 리턴 wordSet = wordDict를 Set으로 변경 n = s.length dp = new boolean[n + 1] dp[0] = true 반복문 시작 (i ..
리트코드 - 198. House Robber 출처 - https://leetcode.com/problems/house-robber/description/?envType=study-plan-v2&envId=top-interview-150 문제 설명 당신은 길거리의 집들을 훔칠 계획을 세운 전문적인 도둑입니다. 집집마다 특정 금액의 돈이 숨겨져 있으며, 훔치는 것을 멈출 유일한 제약조건은 인접한 집들의 보안 시스템이 연결되어 자동으로 경찰에 연락이 되는 것이고, 이러한 연락은 인접한 두 집이 같은 날 저녁에 털린다면 발생합니다. 각 집의 돈의 양을 나타내는 정수 배열 nums가 주어지면 경찰에 경고를 주지 않고 오늘 밤 강탈할 수 있는 최대 금액을 반환하십시오. 의사코드 if (nums.length == 0..
리트코드 - 45. Jump Game II 출처 - https://leetcode.com/problems/jump-game-ii/description/?envType=study-plan-v2&envId=top-interview-150 문제 설명 주어진 길이 n의 정수 배열 nums가 있습니다 (인덱스는 0부터 시작). 초기 위치는 nums[0]입니다. 각 원소 nums[i]는 인덱스 i에서 가능한 전진 점프의 최대 길이를 나타냅니다. 다시 말해, 만약 nums[i]에 있다면, 0
리트코드 - 70. Climbing Stairs 출처 - https://leetcode.com/problems/climbing-stairs/description/?envType=study-plan-v2&envId=top-interview-150 문제 설명 계단을 올라가고 있습니다. 꼭대기에 도달하려면 n개의 단계가 필요합니다. 각 단계에서는 1단계 또는 2단계씩 올라갈 수 있습니다. 꼭대기에 도달하기 위해 몇 가지 서로 다른 방법으로 계단을 올라갈 수 있을까요? 의사코드 climbStair (int n) if (n
리트코드 - 69. Sqrt(x) 출처 - https://leetcode.com/problems/sqrtx/description/?envType=study-plan-v2&envId=top-interview-150 문제 설명 0 이상의 정수 x가 주어졌을 때, x의 제곱근을 내림하여 가장 가까운 정수로 반환합니다. 반환된 정수는 반드시 0 이상이어야 합니다. 내장 지수 함수나 연산자를 사용해서는 안 됩니다. C++에서는 pow(x, 0.5)이나 Python에서는 x ** 0.5와 같은 함수를 사용해서는 안 됩니다. 의사코드 if (x == 0) 0 리턴 left = 1 right = x 반복문 시작 (left sqrt) right = mid - 1 반복문 종료 right 리턴 풀이코드 class Solut..