※ 글쓴이는 취미로 코딩을 익혀보는 사람이라 정확하지 않은 내용을 담고 있을 수 있다 ※
이번에 볼 문제는 백준 27622번 문제인 Suspicious Event이다.
문제는 아래 링크를 확인하자.
https://www.acmicpc.net/problem/27622
27622번: Suspicious Event
Input begins with a line containing an integer N (1 ≤ N ≤ 1000) representing the number of events in the given record. The next line contains N integers Ai (−1000 ≤ Ai ≤ 1000; Ai ≠ 0) each representing an event in chronological order. It is gua
www.acmicpc.net
주어지는 로그를 차례대로 읽으면서 문제를 해결해보자.
이 문제에서 suspicious event는 로그인 상태가 아닌 유저가 로그아웃한 경우를 의미한다. 로그인 상태인 유저가 다시 로그인하는 경우 등은 문제 제한상 주어질 수가 없음을 확인하자.
따라서 양수가 주어지면 해당 유저를 로그인상태로 기록하고, 음수가 주어지면 해당 유저가 로그인되어있는지만을 확인하는 것으로 문제를 충분히 해결할 수 있다.
아래는 제출한 소스코드이다.
#include <iostream>
using namespace std;
int N;
bool arr[1001];
int ans;
int main() {
ios::sync_with_stdio(0);
cin.tie(0);
cin >> N;
while (N--) {
int x; cin >> x;
if (x > 0) arr[x] = 1;
else if (!arr[-x]) ans++;
}
cout << ans;
}
728x90
'BOJ' 카테고리의 다른 글
[BOJ 2617 // C++] 구슬 찾기 (0) | 2023.03.08 |
---|---|
[BOJ 6986 // C++] 절사평균 (0) | 2023.03.08 |
[BOJ 9913 // C++] Max (0) | 2023.03.07 |
[BOJ 6988 // C++] 타일 밟기 (0) | 2023.03.07 |
[BOJ 6987 // C++] 월드컵 (0) | 2023.03.06 |