CodingTest/LeetCode19 [LeetCode] 1641. Count Sorted Vowel Strings [문제 링크]https://leetcode.com/problems/count-sorted-vowel-strings/description/ [문제]- 문제 설명주어진 숫자 n에 대해, 길이가 n인 정렬된 모음 문자열의 개수를 구하는 문제입니다. 모음은 a, e, i, o, u 5개가 있습니다. 문자열은 알파벳 순서대로 정렬되어야 하며, 예를 들어 a는 e, i, o, u 앞에 올 수 있지만 그 반대는 안 됩니다.- 입력정수 n이 주어집니다. (1 ≤ n ≤ 50) - 출력길이가 n인 정렬된 모음 문자열의 개수를 반환해야 합니다.[풀이 과정]코드 주석으로 설명하겠습니다. [코드]class Solution { public int countVowelStrings(int n) { // dp[i].. 2025. 3. 26. [LeetCode] 2924. Find Champion II [문제 링크]https://leetcode.com/problems/find-champion-ii/description/ [문제]0부터 N-1까지 번호가 매겨져 있습니다. 일부 선수들은 서로 경기했으며, 그 결과가 edges 배열에 이긴 선수 → 진 선수 형태로 주어집니다.예를 들어, edges[i] = [winner, loser]는 winner 선수가 loser 선수를 이겼음을 의미합니다.**챔피언(Champion)**이란, 어떤 선수도 챔피언을 이기지 못한 선수를 의미합니다. 즉, 챔피언은 진입 차수(In-degree)가 0인 노드입니다.단, 챔피언이 여러 명이면 -1을 반환해야 합니다. 유일한 챔피언이 존재하면 해당 챔피언의 번호를 반환하세요. 챔피언이 없으면 -1을 반환하세요.[풀이 과정]간선의 .. 2025. 3. 25. [LeetCode] 3439. Reschedule Meetings for Maximum Free Time I [문제 링크]https://leetcode.com/problems/reschedule-meetings-for-maximum-free-time-i/description/ [문제]목표는 여러 회의들의 일정을 조정하여 가능한 한 최대의 여유 시간을 확보하는 것입니다. 주어진 회의들 사이에 연속된 여유 시간을 찾고, 그 여유 시간 중에서 k개의 회의를 이동시켜 여유 시간을 최대화하는 방법을 찾는 문제입니다.eventTime: 이벤트가 끝나는 시간 (예: 하루의 끝) k: 회의를 이동시킬 수 있는 최대 횟수 (즉, k개의 회의를 이동할 수 있음) startTime: 각 회의의 시작 시간 배열 endTime: 각 회의의 종료 시간 배열 여기서 각 회의의 시작 시간과 종료 시간은 겹치지 않으며, k개의 회의를 이동시.. 2025. 3. 25. [LeetCode] 1109. Corporate Flight Bookings [문제 링크]https://leetcode.com/problems/corporate-flight-bookings/description/ [문제]주어진 flight bookings 배열은 여러 회사의 비행기 예약 정보를 포함하고 있습니다. 각 예약은 다음과 같은 3개의 값을 갖는 튜플로 제공됩니다:first : 예약이 시작되는 공항last : 예약이 종료되는 공항num : 예약된 좌석 수 여러 예약 정보가 주어졌을 때, 각 공항에 대한 비행기 좌석 예약의 합을 구하는 문제입니다.[풀이 과정]누적합을 사용하는 문제였습니다.end + 1에 - seats를 적용한다는 것만 이해하면 쉬운 문제입니다. 왜 start는 seats값을 그냥 저장하고 end에는 아무것도 저장하지 않고 end + 1에 - seats를 하.. 2025. 3. 25. [LeetCode] 62. Unique Paths [문제 링크]https://leetcode.com/problems/unique-paths/description/ [문제]입력: m과 n이 주어집니다. m은 격자의 세로 크기 (1 ≤ m ≤ 100), n은 가로 크기 (1 ≤ n ≤ 100)입니다. 출력: 격자에서 시작점(0, 0)에서 끝점(m-1, n-1)까지 오른쪽과 아래쪽만으로 이동 가능한 경로의 수를 반환해야 합니다.[풀이 과정]어릴때 학창시절에 배웠던 공식입니다.아래 그림의 공식처럼 풀었습니다. [코드]class Solution { int[][] grid; public int uniquePaths(int m, int n) { grid = new int[m][n]; // 배열 -1로 초기화 .. 2025. 3. 24. [LeetCode] 746. Min Cost Climbing Stairs [문제 링크]https://leetcode.com/problems/min-cost-climbing-stairs/description/ [문제]각 계단마다 일정한 비용이 들며, 계단을 오르는 데 드는 최소 비용을 구하는 문제입니다.계단 배열 cost가 주어집니다. 인덱스 0 또는 1에서 출발할 수 있습니다. 한 번에 1칸 또는 2칸을 이동할 수 있습니다. 마지막 계단을 꼭 밟을 필요는 없으며, 정상에 도착하는 것이 목표입니다. 최소 비용으로 계단을 오르는 방법을 찾아야 합니다.[풀이 과정]모든 경우를 구하되 구했던 걸 또 구하지 않고 풀어야겠다고 생각하고 접근했다. [코드]class Solution { int[] memo; public int minCostClimbingStairs(int[] c.. 2025. 3. 20. 이전 1 2 3 4 다음