반응형
문제
https://www.acmicpc.net/problem/1181
풀이
문제에 나타난 조건에 따라 정렬해주면 됩니다.
단, 중복된 단어를 제거해야 하므로 Set 자료형에 넣어준 후, 다시 Array로 만들어주는 작업이 필요합니다.
그 이후, sort 메서드의 클로저로 해당 조건을 작성해줍시다.
해당 조건은 길이가 같으면 사전순, 다르다면 짧은 것으로 정렬해주면 됩니다.
sort의 클로저 구문을
{ $0.count == $1.count (길이가 같다면) ? $0 < $1 (사전순 정렬) : (다르다면) $0.count < $1.count (길이가 짧은 순으로 오름차순) }
과 같이 작성하였습니다.
소스코드
후기
정렬을 하는 조건을 잘 작성한다면 쉽게 풀 수 있는 문제입니다.
클로저 구문안에 if문을 사용할 수도 있지만, 3항 연산자로도 충분히 이해하기 쉬울 것이라고 생각해서
저는 3항 연산자로 작성하였습니다.
반응형
'PS > 백준' 카테고리의 다른 글
[BOJ] 백준 18870 좌표 압축 (Swift) (0) | 2023.03.10 |
---|---|
[BOJ] 백준 10814 나이순 정렬 (Swift) (0) | 2023.03.10 |
[BOJ] 백준 11651 좌표 정렬하기 2 (Swift) (0) | 2023.03.08 |
[BOJ] 백준 11650 좌표 정렬하기 (Swift) (0) | 2023.03.08 |
[BOJ] 백준 1427 소트인사이드 (Swift) (0) | 2023.03.08 |