본문 바로가기

하루하나코딩

백준 1181번 : 단어정렬 c++

코드

#include
#include 
#include 

using namespace std;

bool lengthsort(string x, string y){

if(x.length() != y.length()){
return x.length() < y.length();
}
else return x
}


int main(){

int N;
cin >> N;
cin.ignore();

string a[20001];

for(int i = 0; i < N; i++){
cin >> a[i];
}

sort(a, a+N, lengthsort);


for(int i = 0; i < N; i++){
if(a[i] == a[i-1]) continue;
else{
cout << a[i] << endl;
}
}

return 0;
}

설명

string 배열 a에 단어들을 입력받습니다.

sort함수를 이용해 단어들을 글자수 순, 글자수가 같다면 사전순 으로 배열하고 이를 출력합니다.

같은 단어는 continue하고, 같지 않은 단어만 출력하도록 반복문을 설정합니다.