Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 30 | 31 |
Tags
- VOCALOID
- PyQT5
- c++
- 취미생활
- 건전한
- 날씨
- OSAM
- A×B
- 단계별로풀어보기
- 원소 삭제
- 텍스트 관련 태그들
- 텍스트 관련
- 프로젝트
- GUI
- 과제
- Python
- 학습생활
- *Luna
- 원소 추가
- C언어
- HTML
- 연결리스트
- 건전한 취미생활
- 메일
- 구현
- A - B
- 독학
- 백준
- 알고리즘
- CSS
Archives
- Today
- Total
언유상씨의 건전한 취미생활
[백준 알고리즘] 욱제는 결정장애야!! (14646) C++로 풀기 본문
문제 이름 : 욱제는 결정장애야!!
문제 번호 : 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 |
Comments