[백준 25192] 인사성 밝은 곰곰이

alsry._.112·2023년 10월 20일
0

백준

목록 보기
89/102

🔗문제 풀러가기
단계별로 풀어보기 단계 20의 2번째 문제이다.

문제 분석


vector를 이용하여 문제를 해결하니 시간초과가 떠
중복된 값은 자동으로 저장하지 않는 Set을 이용하여 문제를 해결하였다.

코드

#include <iostream>
#include <set>
#include <algorithm>
using namespace std;

int main() 
{
    set<string> _set;
    int n, cnt = 0;
    cin >> n;
    string input;

    for (int i = 0; i < n; i++)
    {
        cin >> input;

        if (input == "ENTER")
        {
            cnt += _set.size();
            _set.clear();
            continue;
        }

        _set.insert(input);
    }

    cnt += _set.size();

    cout << cnt;
}

해석

  1. n을 입력받은 뒤 n만큼 문자열을 입력받는다.
  2. 입력받은 문자열이 ENTER라면, 곰곰티콘이 사용된 횟수를 나타내는 cnt에 지금까지의 _set의 길이를 더하고 _set을 clear해준다.
  3. ENTER가 아니라면 _set에 저장한다.
  4. 입력을 마친 후 지금까지의 _set의 길이를 cnt에 더한다.
  5. 이렇게 얻은 cnt를 출력하면 끝!

set은 중복된 값을 자동으로 저장하지 않고 버리는 성질이 있기 때문에, 중복된 값에 대한 예외처리가 필요하지 않다.

profile
소통해요

0개의 댓글