이 튜토리얼에서는 주어진 배열에서 반복되는 요소를 찾는 프로그램을 작성할 것입니다.
문제를 해결하는 단계를 살펴보겠습니다.
-
배열을 초기화합니다.
-
배열에 있는 각 요소의 빈도를 저장하도록 카운터 맵을 초기화합니다.
-
배열을 반복합니다.
-
각 요소를 센다.
-
-
빈도가 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
결론
튜토리얼에서 질문이 있는 경우 댓글 섹션에 언급하세요.