C++
Solution
부호가 동일한 숫자면 같은 숫자로 판단한다. 따라서, 이전에 입력된 숫자와 현재 숫자가 부호가 같은 숫자인지 확인하는 isSameNumber 함수를 통해 판단하고, 동일한 숫자면 카운트하여 최댓값을 저장하는 max와 비교하여 max를 업데이트를 진행한다.
#include <iostream>
using namespace std;
bool isSameNumber(const int& preN, const int& nextN) {
if((preN > 0 && nextN > 0 )|| (preN < 0 && nextN < 0)) {
return true;
} else {
return false;
}
}
int main() {
int n;
cin >> n;
int* array = new int[n];
for(int i{ 0 }; i < n; i++) {
cin >> array[i];
}
int duplicated = 1;
int max = 0;
for(int i{ 0 }; i < n ;i++) {
if(i == 0 || !isSameNumber(array[i-1], array[i])) {
max = (max < duplicated) ? duplicated : max;
duplicated = 1;
} else {
duplicated++;
}
}
if(duplicated != 1) {
max = (max < duplicated) ? duplicated : max;
}
cout << max << endl;
delete[] array;
return 0;
}
'PS > 코드트리' 카테고리의 다른 글
[코드트리] +1-1 Technique | C++ (0) | 2024.08.30 |
---|---|
[코드트리 조별과제 3주차] priority_queue<T> 사용 방법 | C++ STL (0) | 2024.07.29 |
[코드트리] unordered_set<T> 사용 방법 | C++ STL (1) | 2024.07.24 |
[코드트리 조별과제 2주차] unordered_map<K, V> 사용 방법 | C++ STL (0) | 2024.07.23 |