https://www.hackerrank.com/challenges/divisible-sum-pairs/problem
Divisible Sum Pairs | HackerRank
Count the number of pairs in an array having sums that are evenly divisible by a given number.
www.hackerrank.com
<문제>

배열의 크기인 n과 나누고 싶은 값 k를 입력받고 배열 ar을 입력받는다. 배열 중에 2개의 값을 더했을 때 k값으로 나눠떨어지는 pair의 개수를 화면에 출력한다.
<코드>
#include <stdio.h>
#pragma warning(disable:4996)
int divi_Pairs(int n, int k, int ar[]) {
int pairs_num = 0;
for (int i = 0; i < n - 1; i++)
{
for (int j = i + 1; j < n; j++)
{
if ((ar[i] + ar[j]) % k == 0)
pairs_num++;
}
}
return pairs_num;
}
int main(void) {
int n, k;
int* ar;
scanf("%d %d", &n, &k);
ar = malloc(sizeof(int)*n);
for (int i = 0; i < n; i++) {
scanf("%d", &ar[i]);
}
printf("%d",divi_Pairs(n, k, ar));
return 0;
}
<풀이>
1. 배열의 크기인 n과 나누고 싶은 값 k를 입력받고 n 크기만큼 배열 ar[]을 생성한다.
2. for()문을 통해 배열ar[]을 입력받는다.
3. divi_Pairs() 함수는 ar[]배열의 i번째 값과 j번째 값을 for() 문을 통해 더하고, k로 나눠떨어지면 pair의 개수를 하나씩 증가시킨 뒤 pair 개수를 리턴한다.
4. divi_Pair() 함수의 리턴값을 화면에 출력한다.
<결과>

'c언어 스터디 > HackerRank' 카테고리의 다른 글
| [HackerRank] Boxes through a Tunnel (0) | 2021.04.07 |
|---|---|
| [HackerRank] Sorting-Correctness and the Loop Invariant (0) | 2021.04.07 |
| [HackerRank] Insertion Sort-Part2 (0) | 2021.04.03 |
| [HackerRank] Number Line Jumps (0) | 2021.03.26 |
| [HackerRank] Insertion Sort-Part1 (0) | 2021.03.26 |