전체 글
-
LeetCode - 841. Keys and Rooms개발/코딩테스트 2023. 8. 25. 14:44
문제: 841. Keys and Rooms (Medium) 1. 0 부터 n-1 까지 표시된 n 개의 방이 있고, 0번 방을 제외한 모든 방은 잠겨 있음. 모든 방을 방문하려 함. 2. 방을 방문하면 열쇠를 찾을 수 있고 숫자는 방의 번호를 나타냄. 2. 모든 방을 방문할 수 있으면 true, 아니면 false 리턴. 예시: Example 1: Input: rooms = [[1],[2],[3],[]] Output: true Explanation: 0번째 방에서 1번 방의 열쇠를 얻음. 1번 방에서 2번 방의 열쇠를 얻음. 2번 방에서 3번방의 열쇠를 얻음. 3번방까지 모두 방문 할 수 있으므로 true. Example 2: Input: rooms = [[1,3],[3,0,1],[2],[0]] Output..
-
LeetCode - 746. Min Cost Climbing Stairs개발/코딩테스트 2023. 8. 25. 13:56
문제: 746. Min Cost Climbing Stairs (Easy) 1. 계단의 비용을 나타내는 cost 배열이 제공됨. 2. 해당 비용을 내고 한 계단 또는 두 계단을 오를 수 있음. 3. 인덱스가 0이거나 1부터 시작할 수 있고, 꼭대기에 도달하기 위한 최소 비용을 리턴. Example 1: Input: cost = [10,15,20] Output: 15 Explanation: You will start at index 1. - Pay 15 and climb two steps to reach the top. The total cost is 15. 예시: Example 1: Input: cost = [10,15,20] Output: 15 Explanation: 인덱스 1에서 시작하여 2계단을 한번..
-
LeetCode - 2336. Smallest Number in Infinite Set (Java)개발/코딩테스트 2023. 8. 24. 15:46
문제: 2336. Smallest Number in Infinite Set (Medium) 1. 모든 양의 정수를 포함하는 집합이 있음. 2. SmallestInfiniteSet Class 를 구현. 1) SmallestInfiniteSet() : 모든 양의 정수를 초기화. 2) int popSmallest() : 집합에서 가장 작은 정수를 삭제하고 리턴. 3) void addBack(int num): 집합에 num 값이 존재하지 않다면, 다시 집합에 num 정수를 추가. 풀이: class SmallestInfiniteSet { private PriorityQueue pq; private int cursor = 1; public SmallestInfiniteSet() { pq = new PriorityQ..
-
LeetCode - 2390. Removing Stars From a String (Java)개발/코딩테스트 2023. 8. 23. 13:59
문제: 2390. Removing Stars From a String (Medium) 1. 별 *을 포함하는 문자열 s가 제공됨. 2. 별 *의 왼쪽의 가장 가까운 별이 아닌 문자를 제거하고 별 자체도 제거. 3. 모두 제거된 문자열을 리턴. 예시: Example 1: Input: s = "leet**cod*e" Output: "lecoe" Explanation: * 왼쪽인 t 와 *을 제거 ("lee*cod*e"). 그 후 다시 * 왼쪽인 e 와 *을 제거 ("lecod*e"). 그 후 다시 * 왼쪽인 d 제거 후 결과 "lecoe". Example 2: Input: s = "erase*****" Output: "" Explanation: * 5개만큼 문자 제거 후의 결과는 "" empty string..
-
LeetCode - 1431. Kids With the Greatest Number of Candies (Java)개발/코딩테스트 2023. 8. 23. 11:39
문제: 1431. Kids With the Greatest Number of Candies (Easy) 1. 사탕을 가지고 있는 아이들 n 명이 가지고 있는 사탕의 수를 나타내는 정수 배열 candies 가 주어짐. 2. 여분의 사탕 수를 나타내는 정수 extraCandies 가 주어짐. 3. 길이 n 의 Boolean 배열을 리턴. 리턴할 배열의 i 번째 값은 i 번째 아이에게 extraCandies 를 제공한 후 모든 아이 중에서 가장 많은 수의 사탕을 갖게 되면 true, 아니면 false. 4. 여러 명의 아이가 가장 많은 수의 사탕을 가질 수 있음. 예시: Example 1: Input: candies = [2,3,5,1,3], extraCandies = 3 Output: [true,true,t..
-
LeetCode - 1768. Merge Strings Alternately (Java)개발/코딩테스트 2023. 8. 23. 11:20
문제: 1768. Merge Strings Alternately (Easy) 문자열 word1, word2 가 주어지고 한 문자씩 교대로 합친 문자열을 만들고 길이가 달라 남는 문자열은 끝에 추가한 최종 문자열을 반환하는 문제. 예시: Example 1: Input: word1 = "abc", word2 = "pqr" Output: "apbqcr" Explanation: word1 과 word2 가 한 문자씩 합쳐진다. Example 2: Input: word1 = "ab", word2 = "pqrs" Output: "apbqrs" Explanation: word1 과 word2 가 한 문자씩 합쳐져 "apbq" 가 되고, word2 의 남는 문자열인 "rs" 를 합쳐 "apbqrs" 가 된다. Exam..