Notice
250x250
Recent Posts
Recent Comments
Link
넘치게 채우기
[LeetCode] 1497. Check If Array Pairs Are Divisible by k 본문
PS/LeetCode
[LeetCode] 1497. Check If Array Pairs Are Divisible by k
riveroverflow 2024. 10. 1. 11:21728x90
반응형
leetcode - Check If Array Pairs Are Divisible by K
문제 유형 : 수학
문제 난이도 : Medium
문제
Given an array of integers arr of even length n and an integer k.
We want to divide the array into exactly n / 2 pairs such that the sum of each pair is divisible by k.
Return true If you can find a way to do that or false otherwise.
정수 배열이 n의 길이로 주어지고, 정수 k가 주어집니다.
n/2개의 쌍을 만들어서 두 수의 합이 모두 k에 의해 나눠지도록 하고 싶습니다.
방법이 있으면 true, 아니면 false를 반환하시오.
풀이
[0, k-1]까지의 범위의 배열을 만들어서, 각 배열의 요소들에 대해 모듈러 k를 한 연산결과의 카운트를 누적한다.
만약 나머지 0인 요소들이 홀수라면, false이다.
이외에도 1과 k-1, 2와 k-2, ...의 개수가 서로 맞지 않으면, false이다.
통과하면 true이다.
코드
C++
class Solution {
public:
bool canArrange(vector<int>& arr, int k) {
vector<int> count(k, 0);
for (int num : arr) {
int remainder = ((num % k) + k) % k;
count[remainder]++;
}
if (count[0] % 2 != 0) {
return false;
}
for (int i = 1; i < k; ++i) {
if (count[i] != count[k - i]) {
return false;
}
}
return true;
}
};
728x90
반응형
'PS > LeetCode' 카테고리의 다른 글
[LeetCode] 1590. Make Sum Divisible by P (0) | 2024.10.03 |
---|---|
[LeetCode] 1331. Rank Transform of an Array (0) | 2024.10.02 |
[LeetCode] 1381. Design a Stack With Increment Operation (0) | 2024.09.30 |
[LeetCode] 432. All O`one Data Structure (0) | 2024.09.29 |
[LeetCode] 641. Design Circular Deque (0) | 2024.09.28 |