이 튜토리얼에서는 주어진 배열에서 반복되는 요소를 찾는 프로그램을 작성할 것입니다.
문제를 해결하는 단계를 살펴보겠습니다.
-
배열을 초기화합니다.
-
배열에 있는 각 요소의 빈도를 저장하도록 카운터 맵을 초기화합니다.
-
배열을 반복합니다.
-
각 요소를 센다.
-
-
빈도가 1보다 큰 요소를 인쇄합니다.
예시
코드를 봅시다.
#include <bits/stdc++.h>
using namespace std;
int findRepeatingElement(int arr[], int n) {
map<int, int> frequencies;
for (int i = 0; i < n; i++) {
map<int, int>::iterator itr = frequencies.find(arr[i]);
if (itr != frequencies.end()) {
itr->second = itr->second + 1;
}
else {
frequencies.insert({arr[i], 1});
}
}
for (map<int, int>::iterator itr = frequencies.begin(); itr != frequencies.end(); ++itr) {
if (itr->second > 1) {
return itr->first;
}
}
}
int main() {
int arr[] = {1, 2, 3, 3, 4, 5, 5, 6};
cout << findRepeatingElement(arr, 8) << endl;
return 0;
} 출력
위의 코드를 실행하면 다음과 같은 결과를 얻을 수 있습니다.
3
결론
튜토리얼에서 질문이 있는 경우 댓글 섹션에 언급하세요.