본문 바로가기

백준/실버

[백준 25192번] 인사성 밝은 곰곰이 (C++)

문제링크 : https://www.acmicpc.net/problem/25192

 

25192번: 인사성 밝은 곰곰이

첫번째 새로운 사람이 들어온 뒤  pjshwa, chansol, chogahui05은 모두 곰곰티콘으로 인사했다. 두번째 새로운 사람이 들어온 뒤  pjshwa와 chansol은 다시 곰곰티콘으로 인사했다.

www.acmicpc.net

#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef pair<int, int> pii;
const int MAX = 987654321;

int main()
{
    int N;
    cin >> N;

    string s;
    set<string>ss;

    int result = 0;

    for(int i=0; i<N; i++)
    {
        cin >> s;
        if(s == "ENTER") //새로운 사람 입장
        {
            ss.clear();
        }
        else
        {
            if(ss.find(s)==ss.end()) result+=1; //처음 온 사람
            ss.insert(s);
        }
    }

    cout << result;

    return 0;
}

ENTER 이후에 처음 온 사람들이 새롭게 들어올 때마다 이모티콘으로 인사하기에 이때만 1을 더해주면 된다.

set을 이용하여 중복을 제거하고, 현재 값이 처음으로 들어가는 값일 때만 (새롭게 들어오는 인원) 카운트 하였다.