본문 바로가기

[BOJ] 1181. 단어 정렬 - C++

@Xenawn2025. 2. 12. 21:10
반응형

https://www.acmicpc.net/problem/1181

 

 

#include <bits/stdc++.h>
using namespace std;

bool Comapare(string a, string b) { 
	if (a.length() == b.length())
		return a < b;
	else 
		return a.length() < b.length();
}
int main() {

	string str;
		vector <string> v;
	
		int N;

		cin >> N;
	
		for (int i = 0; i < N; i++) {
			cin >> str;
			v.push_back(str);
		}
	
	
	sort(v.begin(), v.end(), Comapare); // sort 사용법 익히기

	v.erase(unique(v.begin(), v.end()),v.end());

	
	for (int i = 0; i < v.size(); i++) {
		cout << v[i] << endl;
	}
	
}

 

 

 

 

Compare()함수를 구현하여 

길이가 같으면 문자를 비교하여 문자 내림차순으로 정렬하고

길이가 다르면 길이 내림차순으로 정렬하여  sort()함수에 넣어주고

 

중복을 제거하기위해 unique()를 사용하였고

unique()를 사용하고 남은 쓰레기 값을 제거하기 위해 erase()를 사용하였다.

반응형

'Algorithm > BOJ [C++]' 카테고리의 다른 글

[BOJ] 28702. FizzBuzz - C++  (0) 2025.03.05
[BOJ] 1926. 그림 - C++  (0) 2025.02.16
[BOJ] 2571. 수 정렬하기 2 - C++  (0) 2025.02.15
[BOJ] 11651. 좌표 정렬하기 2 - C++  (0) 2025.02.14
[BOJ] 11650. 좌표 정렬하기 - C++  (0) 2025.02.13
Xenawn
@Xenawn :: Xenawn

제넌 게임개발 블로그

공감하셨다면 ❤️ 구독도 환영합니다! 🤗

목차