이 튜토리얼에서는 주어진 배열에서 변칙의 수를 찾는 프로그램을 작성할 것입니다.
숫자와 다른 모든 숫자 사이의 절대 차이가 주어진 숫자 k보다 크면 숫자는 주어진 배열의 이상입니다. 예를 들어 보겠습니다.
입력
arr = [3, 1, 5, 7] k = 1
출력
4
모든 숫자와 다른 숫자 사이의 절대 차이는 k보다 큽니다.
알고리즘
-
배열을 초기화합니다.
-
배열을 반복합니다.
-
요소를 가져와 배열을 반복합니다.
-
두 숫자의 절대차를 구하세요.
-
절대 차이가 k보다 작거나 같지 않으면 변칙 수를 늘립니다.
-
-
구현
다음은 위의 알고리즘을 C++로 구현한 것입니다.
#include <bits/stdc++.h>
using namespace std;
int getAnomaliesCount(int arr[], int n, int k) {
int count = 0;
for (int i = 0; i < n; i++) {
int j;
for (j = 0; j < n; j++) {
if (i != j && abs(arr[i] - arr[j]) <= k) {
break;
}
}
if (j == n) {
count++;
}
}
return count;
}
int main() {
int arr[] = {3, 1, 5, 7}, k = 1;
int n = 4;
cout << getAnomaliesCount(arr, n, k) << endl;
return 0;
} 출력
위의 코드를 실행하면 다음과 같은 결과를 얻을 수 있습니다.
4