문제 링크
간단한 심화 정렬 문제이다.
string으로 단어를 받고 sort 함수를 이용해 정렬을 하는데 compare 함수를 따로 길이순으로 반환을 한 후에
길이가 같다면 알바벳순으로 오름자순 정렬을 하는 형식이다.
string size 함수를 이용해 길이를 파악하고 길이가 같다면 단순 비교를 통해 함수를 만들었다.
정렬을 공부하는 사람이라면 도움이 많이 될 것이다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
bool compare(string a,string b){
if(a.size()==b.size()){
return a<b;
}else{
return a.size()<b.size();
}
}
int main(){
vector <string> a;
string temp;
int N;
cin>>N;
for(int i=0;i<N;i++){
string word;
cin>>word;
a.push_back(word);
}
sort(a.begin(),a.end(),compare);
for(int i=0;i<N;i++){
if(temp==a[i])continue;
cout<<a[i]<<'\n';
temp=a[i];
}
return 0;
}
|
cs |
'Algorithm > 문제 풀이 (Problem Solving)' 카테고리의 다른 글
[C++,DP] 백준 9465번 스티커 문제풀이 (0) | 2019.03.04 |
---|---|
[C++] 백준 2309번 일곱난장이 문제풀이 (0) | 2019.02.14 |
[C++] 코드그라운드 버스타기 문제풀이 (0) | 2019.01.10 |
[C++] 코드그라운드 숫자골라내기 문제풀이 (0) | 2018.09.19 |
[C++] 프로그래머스 가운데 글자 가져오기 문제풀이 (0) | 2018.09.02 |
댓글