단어 수집가
의견: 0
단어 수집가 도은이는 수첩에 알파벳 소문자 단어 \(N\)개를 적어 두었다. 같은 단어가 여러 번 적혀 있을 수도 있다.
도은이는 단순한 단어일수록 앞에 오는 사전을 만들고 싶다. 중복을 제거한 뒤, 다음 기준으로 정렬하여 출력하여라.
- 단어에 쓰인 서로 다른 글자의 수가 적은 단어가 먼저 온다.
- 그것이 같으면 길이가 짧은 단어가 먼저 온다.
- 길이도 같으면 사전 순서가 빠른 단어가 먼저 온다.
- \(1 \le N \le 100\,000\)
- 각 단어는 길이 \(1\) 이상 \(20\) 이하의 알파벳 소문자 문자열이다.
첫째 줄에 단어의 수 \(N\)이 주어진다.
다음 \(N\)개의 줄에 단어가 하나씩 주어진다. 단어는 길이 \(1\) 이상 \(20\) 이하의 알파벳 소문자 문자열이다.
조건에 따라 정렬한 단어를 한 줄에 하나씩 출력한다. 같은 단어는 한 번만 출력한다.
5
apple
banana
kiwi
kiwi
level
kiwi
level
banana
apple
서로 다른 글자 수는 kiwi, banana, level이 \(3\), apple이 \(4\)이다. 글자 수 \(3\)인 단어들은 길이순으로 kiwi(\(4\)), level(\(5\)), banana(\(6\)) 순서가 된다.
3
bob
aab
abc
aab
bob
abc
bob과 aab는 서로 다른 글자가 \(2\)개, 길이도 \(3\)으로 같아 사전순으로 aab가 먼저다. abc는 서로 다른 글자가 \(3\)개라 마지막이다.
막혔나요? 코인으로 단계별 힌트를 잠금 해제하세요 — 첫 힌트는 가벼운 방향 제시, 뒤로 갈수록 더 많이 알려 줍니다. 문제를 풀면 모든 힌트가 무료로 공개됩니다.
riseoj 작성
출처 Original
평가 및 의견
단어 수집가
아직 의견이 없습니다. 자격이 된다면 위 양식에서 가장 먼저 평가해 보세요.
풀이 제출
단어 수집가