문제 이름 : 욱제는 결정장애야!!
문제 번호 : 1292
사용 언어 : C++
문제는 다음과 같다.
아주 긴 배열을 만든 뒤, 돌아가면서 체크하면 된다.
스티커를 붙일때마다 스티커의 개수를 늘려주고, 스티커가 두개 붙은 경우에는 스티커를 다 떼어버리므로 -2를 해주면 된다.
이때, 욱제의 돌림판이 가지고 있는 능력으로 선택된것은 다시 선택되지 않으므로 부가적인 것은 생각하지 않아도 된다.
매 차례마다 스티커의 개수를 비교한다.
소스코드는 아래와 같다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
#define _CRT_SECURE_NO_WARNINGS
#include <iostream>
#include <algorithm>
#include <string>
#include <vector>
#include <utility>
#include <cmath>
using namespace std;
int main() {
ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL);
int n, temp, cnt = 0, ans = 0;
int arr[100000] = { 0, };
cin >> n;
for (int i = 0; i < 2*n; i++) { // 돌림판 돌리기
cin >> temp;
arr[temp - 1]++;
cnt++;// 스티커 갯수
if (arr[temp - 1] == 2) { // 두번 다 뽑힌 경우
cnt -= 2;
}
if (cnt > ans) { // 스티커의 개수가 최대인 경우
ans = cnt;
}
}
cout << ans;
return 0;
}
|
cs |
제출해보면
'코딩 > 알고리즘' 카테고리의 다른 글
[JAVA 알고리즘] 알파벳 재정렬 (중간고사) (0) | 2020.05.26 |
---|---|
[백준 알고리즘] 신입 사원(1946) C++로 풀기 (3) | 2020.05.24 |
[백준 알고리즘] 쉽게 푸는 문제(1292번) C++로 풀기 (0) | 2020.05.16 |
[백준 알고리즘] 인기 투표(11637) C++로 풀기 (0) | 2020.05.15 |
[백준 알고리즘] 영식이와 친구들(1592번) C++로 풀기 (1) | 2020.05.13 |