반응형
코드포스 4C Registration system 풀이 코드 | C++
문제 해설
문자열들을 순서대로 기록하며 새로운 문자열일 땐 'OK'를, 중복된 문자열일 땐 문자열 끝에 오름차순으로 숫자를 붙여 출력하는 문제입니다.
풀이
문자열을 키로, 입력 횟수를 값으로 가지는 맵을 선언하고 새로 들어오는 문자열이 맵에 없을 경우 'OK'를 출력 후 맵에 값 1로 저장, 맵에 있을 경우 키와 값을 출력하고 중복 횟수를 1회 늘립니다.
코드
#include <iostream>
#include <map>
#include <string>
int main()
{
std::string a;
int n;
std::map<std::string, int> list;
std::cin>>n;
for(int i=0; i<n; i++){
std::cin>>a;
if(list.count(a)==0){
std::cout<<"OK"<<std::endl;
list[a] = 1;
}
else{
std::cout<<a<<list[a]<<std::endl;
list[a] += 1;
}
}
return 0;
}
문제 출처
반응형
'Coding > CODEFORCES' 카테고리의 다른 글
[코드포스 CODEFORCES] 1A Theatre Square 풀이 코드 (C/C++/Java /Python) (0) | 2021.07.07 |
---|---|
[코드포스 CODEFORCES] 4C Registration system 풀이 코드 (C/C++/Java /Python) (0) | 2021.07.06 |
[코드포스 CODEFORCES] 4C Registration system 풀이 코드 (Python) (0) | 2021.06.22 |
[코드포스 CODEFORCES] 231A Team 풀이 코드 (C) (0) | 2021.06.19 |
[코드포스 CODEFORCES] 4C Registration system 풀이 코드 (Java) (0) | 2021.06.02 |