개발 일지
1539. Kth Missing Positive Number (K번째 양수 누락) 본문
순증가 순서로 정렬된 양의 정수 배열 arr와 정수 k가 주어집니다.
이 배열에서 누락된 k번째 양의 정수를 반환합니다.
예시 1:
입력: arr = [2,3,4,7,11], k = 5
출력: 9
설명: 누락된 양의 정수는 [1,5,6,8,9,10,12,13,...]입니다. 다섯 번째 누락된 양의 정수는 9입니다.
예시 2:
입력: arr = [1,2,3,4], k = 2
출력: 6
설명: 누락된 양의 정수는 [5,6,7,...]입니다. 두 번째 누락된 양의 정수는 6입니다.
조건:
- 1 <= ar.length <= 1000
- 1 <= arr[i] <= 1000
- 1 <= k <= 1000
- 1 <= i < j <= arr.length에 대한 arr[i] < arr[j]
정답:
public class Solution {
public int FindKthPositive(int[] arr, int k) {
List<int> result = new List<int>();
for (int i = 1; i <= arr[arr.Length - 1]; i++)
{
result.Add(i);
}
for (int i = 0; i < arr.Length; i++)
{
result.Remove(arr[i]);
}
if (k <= result.Count)
{
return result[k - 1];
}
else
{
return arr[arr.Length - 1] + k - result.Count;
}
}
}
해설: arr의 배열 수를 제외한 배열을 만들기 위해 arr의 최대값인 arr[arr.Length - 1]까지 result에 추가 후 arr 배열값의 수들을 제거합니다.
제거한 이후 k가 result의 남는 개수가 작거나 같다면 누락된 번호는 내부에 있다는 뜻이므로 result[ k - 1 ]를 return합니다.
만약 크다면 벗어난 것이므로 arr의 최대값에 벗어난 값만큼 더한 값을 retrun합니다.
'코딩 테스트 > LeetCode' 카테고리의 다른 글
2579. Count Total Number of Colored Cells (총 유색 세포 수 계산) (0) | 2024.10.07 |
---|---|
2651. Calculate Delayed Arrival Time (도착 지연 시간 계산) (0) | 2024.10.07 |
1502. Can Make Arithmetic Progression From Sequence (시퀀스에서 산술적 진행을 할 수 있습니다) (0) | 2024.10.02 |
1424. Diagonal Traverse II (대각선 트래버스 II) (0) | 2024.10.02 |
1491. Average Salary Excluding the Minimum and Maximum Salary (최저 및 최대 급여를 제외한 평균 급여) (0) | 2024.09.30 |