#include <iostream>
#include <cstring>
#include <algorithm>
using namespace std;
int main(void) {
int t;
int n = 0;
int c = 0;
cin >> t;
string temp;
string str[t] = {};
for(int i = 0; i < t; i++) {
cin >> str[i];
}
stable_sort(str, str + t);
for(int i = 0; i < t; i++) {
for(int j = i+1; j < t; j++) {
if(str[i].size() > str[j].size()) {
temp = str[i];
str[i] = str[j];
str[j] = temp;
}
}
}
for(int i = 0; i < t; i++) {
if(str[i] != str[i + 1]) {
c++;
}
}
string num[t] = {};
for(int i = 0; i < t; i++) {
if(str[i] != str[i + 1]) {
num[n] = str[i];
n++;
}
}
for(int i = 0; i < c; i++) {
cout << num[i] << endl;
}
return 0;
}
백준 예제 다 맞고
길이 짧은 거 부터, 길이 같으면 사전 순으로 다 맞는데 왜 9퍼에서 안되는거야 제발 3시간째 짱구 굴리는데 답이 안나와
문제링크좀
https://www.acmicpc.net/problem/1181
제발 알려줘 형들 내 머리론 도저히 왜 틀렸는지 모르겠어
0부터 t-2까지만 하셈
t-2라는건 중복값이 2개일 때 가정했을때 하는거 아니야?? 그거때문에 코드 가운데에 c값을 따로 받아서 num[c]에다가 넣어줬어
이거 답글 어떻게 다냐