알고리즘/백준

백준 1181 단어정렬 c++ [컴공과고씨]

시간빌게이츠 2022. 3. 11. 14:54
반응형

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

 

1181번: 단어 정렬

첫째 줄에 단어의 개수 N이 주어진다. (1 ≤ N ≤ 20,000) 둘째 줄부터 N개의 줄에 걸쳐 알파벳 소문자로 이루어진 단어가 한 줄에 하나씩 주어진다. 주어지는 문자열의 길이는 50을 넘지 않는다.

www.acmicpc.net

문자열 길이가 50이 넘지 않는다를 보고 생각한 것은 그럼 크기 50짜리 벡터 배열 만들어서 길이에 따라 저장해주는 것을 생각 예를 들면

이런 식으로 1번에는 길이가 1인 문자를 넣어주고 2에는 길이가 2인 문자열만 넣어주는 방법.

그런 후 벡터 sort를 이용하여 각 배열안에 있는 벡터들을 사전순으로 정리 후 중복되는 단어들을 제거 해줌.

그 후 순서대로 출력해주면 단어가 정렬 되어짐.

 

 

사용 문법

vector erase(unique()) 를 이용하여 중복된 값을 맨 뒤 쓰레기값으로 보낸 후(unique()) erase로 지워줌.

반응형