마늘 손님 난제 라 이브 러 리 022 정렬 후 배열 중복 숫자 삭제

983 단어 OJ마늘 장수
1305 회 
 21.6% 
 1000ms 
 65536K
오름차 순 서 를 정 한 배열 은 배열 에 2 개 또는 2 개 이상 의 같은 숫자 가 있 으 면 2 개 남 을 때 까지 제거 합 니 다.
예 를 들 면:
배열 A [] = [1, 1, 1, 2, 2, 3]
당신 의 알고리즘 은 새 배열 의 길 이 를 5 로 되 돌려 야 합 니 다.
이때 A 는 [1, 1, 2, 2, 3] 이다.
형식: 첫 번 째 줄 은 200 을 넘 지 않 는 숫자 n 을 입력 하고 두 번 째 줄 은 A [n] 을 입력 합 니 다.
마지막 으로 새 배열 의 길 이 를 출력 합 니 다.
샘플 1
입력:
6
1 1 1 1 3 3

출력:
4
#include<iostream>
using namespace std;

int main(){
    int n;
    cin >> n;
    if(n <= 2){
        cout << n << endl;
    }
    int a, last_a, count = 1, res = 1;
    cin >> last_a;
    while(--n){
        cin >> a;
        if(a == last_a){
            if(++count <= 2){
                ++res;
            }
        }else{
            last_a = a;
            count = 1;
            ++res;
        }
    }
    cout << res << endl;
}

좋은 웹페이지 즐겨찾기