728x90
반응형
1235 학생 번호
문제풀이
#include <iostream>
#include <algorithm>
#include <vector>
#include <set>
using namespace std;
void fast_io(void)
{
ios_base::sync_with_stdio(false);
cin.tie(NULL);
cout.tie(NULL);
}
int main()
{
vector<string> v;
fast_io();
int n, res = 1;
cin >> n;
while (n--)
{
string str;
cin >> str;
reverse(str.begin(), str.end());
v.push_back(str);
}
while (true)
{
set<string> s;
for (int i = 0; i < v.size(); i++)
{
s.insert(v[i].substr(0, res));
}
if (s.size() == v.size())
break;
else
res++;
}
cout << res;
}
입력받은 문자열을 뒤집어서 벡터에 넣고
각문자열별로 0-res 까지 잘라서 set에 넣었다.
셋 자체적으로 이미 같은 원소가 있다면 이를 insert 하지 않는 특성을 이용했다.
마지막에 입력받은 학생수 == set.size() 가 같다면 결과값 나오게 했고 그게 아니면 중복값이 있는 것이니 res 를 올려줬다.
728x90
반응형
'자라는 개발자 > 문제풀이' 카테고리의 다른 글
백준 c++ 21156 A Rank Problem (0) | 2022.01.21 |
---|---|
백준 c++ 10104 Party Invitation (1) | 2022.01.20 |
백준 c++ 1205번 등수 구하기 (0) | 2022.01.19 |
백준 c++ 7785 회사에 있는 사람 (0) | 2022.01.15 |
백준 c++ 5397 키로거 (0) | 2022.01.14 |