C언어/문제풀다 하나씩

연속 3개 모이면 터지면서 없어지기 - pushback popback 쓰기

mcdn 2020. 5. 16. 14:56
반응형
#include <iostream>
#include <string>
#include <algorithm>
#include <vector>
using namespace std;

vector<int>arr;
int main() {
	int n;
	cin >> n;
	for (int i = 0; i < n;i++) {
		int num;
		cin >> num;
		arr.push_back(num);
		int len = arr.size();
		if (len >= 2) {
			if (arr[len - 1] == arr[len - 2] && arr[len-2] == arr[len - 3]) {
				// bomb
				arr.pop_back();
				arr.pop_back();
				arr.pop_back();
			}
		}
	}
	int len = arr.size();

	sort(&arr[0], &arr[len]);
	for (int i = 0; i < len;i++) {
		cout << arr[i]<<" ";
	}


}

if (arr[len - 1] == arr[len - 2] && arr[len-2] == arr[len - 3]) {

이부분에서 && 안 쓰고 세개 다 같다는 식으로 해서 에러 계속 남 

입력 예제

17

5 4 5 1 1 1 1 1 2 2 2 3 3 3 3 8 1

출력 결과

1 1 1 3 4 5 5 8

반응형