1. 문제
정수 배열 nums와 정수 k가 주어진다.
i < j 조건을 만족하는 (i, j)쌍 중에서 nums[i] - nums[j]의 절댓값이 k와 같은 경우의 수를 출력하면 된다.
2. 풀이 과정
모든 경우의 수를 보기위해 2중 for문을 사용, i는 j보다 작아야 하니 각 i 별로 i + 1부터 j 값 탐색을 하면 된다.
nums[i] - nums[j]가 음수인지 파악한 후 음수라면 -1을 곱해준 뒤 k와 비교할 수도 있었겠지만 편리하게 절댓값 함수를 사용했다.
public class Solution {
public int CountKDifference(int[] nums, int k) {
int result = 0;
for(int i = 0, length = nums.Length; i < length; ++i)
{
for(int j = i + 1; j < length; ++j)
{
if(Math.Abs(nums[i] - nums[j]) == k)
result++;
}
}
return result;
}
}
반응형
'LeetCode 풀이노트' 카테고리의 다른 글
[C#] 705. Design HashSet (0) | 2023.05.30 |
---|---|
[C#] 598. Range Addition II (0) | 2023.05.26 |
[C#] 944. Delete Columns to Make Sorted (0) | 2023.05.25 |
[C#] 506. Relative Ranks (0) | 2023.05.25 |
[C#] 1689. Partitioning Into Minimum Number Of Deci-Binary Numbers (0) | 2023.05.25 |