반응형
문제
https://www.acmicpc.net/problem/10814
10814번: 나이순 정렬
온라인 저지에 가입한 사람들의 나이와 이름이 가입한 순서대로 주어진다. 이때, 회원들을 나이가 증가하는 순으로, 나이가 같으면 먼저 가입한 사람이 앞에 오는 순서로 정렬하는 프로그램을
www.acmicpc.net
풀이
Swift의 sort, sorted 메서드는 기본적으로 안정정렬 입니다.
안정정렬이란, 중복된 값이 있을 때 순서가 바뀌지 않고 동일하게 정렬이 되는 것을 의미합니다.
따라서, 나이를 기준으로 정렬을 해주면 끝입니다.
안정정렬을 직접 구현하는 방법으로는, 입력을 받을 때 순서도 같이 넣어주고
나이를 기준으로 정렬하되, 나이가 같다면 순서가 빠른 순으로 정렬을 해주는 방법으로 구현할 수 있습니다.
소스코드
후기
공식문서에서 찾아보니 sort, sorted 메서드가 안정정렬이라고 나와있습니다.
처음 문제를 풀 때, 나이를 기준으로 정렬하고 나이가 같다면 순서를 기준으로 정렬하였는데, 안정정렬이기 때문에 그러할 필요가 없다는 것을 알았습니다.
반응형
'PS > 백준' 카테고리의 다른 글
[BOJ] 백준 2798 블랙잭 (Swift) (0) | 2023.03.13 |
---|---|
[BOJ] 백준 18870 좌표 압축 (Swift) (0) | 2023.03.10 |
[BOJ] 백준 1181 단어 정렬 (Swift) (0) | 2023.03.08 |
[BOJ] 백준 11651 좌표 정렬하기 2 (Swift) (0) | 2023.03.08 |
[BOJ] 백준 11650 좌표 정렬하기 (Swift) (0) | 2023.03.08 |