이 튜토리얼에서는 주어진 배열에서 변칙의 수를 찾는 프로그램을 작성할 것입니다.
숫자와 다른 모든 숫자 사이의 절대 차이가 주어진 숫자 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