https://www.acmicpc.net/problem/1181
문제 이해
이것도 그냥 compare함수를 잘 설계하면 되는 문제이다.
작성 코드
#include <iostream>
#include <string>
#include <vector>
#include <algorithm>
using namespace std;
int N;
vector<string> v;
bool compare(string a, string b){
if(a.length() < b.length()) return true;
else if(a.length() == b.length()){
if(a<b) return true;
else return false;
}
else return false;
}
int main(void){
cin >> N;
for(int i = 0; i<N; i++){
string tmp;
cin >> tmp;
v.push_back(tmp);
}
sort(v.begin(), v.end(), compare);
for(int i = 0; i<N; i++){
if(i == N-1) cout << v[i] << "\n";
else{
if(v[i] != v[i+1]) cout << v[i] << "\n";
}
}
return 0;
}
'컴퓨터기본 > 문제풀이' 카테고리의 다른 글
[백준] 15649번: N과 M(1) (0) | 2021.09.12 |
---|---|
[백준] 10814번: 나이순 정렬 (0) | 2021.09.11 |
[백준] 11651번: 좌표 정렬하기 2 (0) | 2021.09.10 |
[백준] 11650번: 좌표 정렬하기 (0) | 2021.09.10 |
[백준] 1436번: 영화감독 숌 (0) | 2021.09.10 |