alzee03   4년 전

s가 정렬된 vector<string>이라 할 때,

auto last = unique(s.begin(), s.end());

s.erase(last, s.end());

이 코드로 중복된 원소를 제거해주면 시간초과가 나오지 않고,

while(num--) //num은 받는 단어의 수임.

{

string k;

cin>>k;

bool checkover=true;

for(int i=0;i<s.size();i++)

{

if(s[i]==k)

checkover=false;

}

if(checkover)

s.push_back(k);

}

이 코드로 처음부터 중복을 검사해준다면 시간초과가 나옵니다. 왜 이럴까요?

댓글을 작성하려면 로그인해야 합니다.