반응형
문제
https://www.acmicpc.net/problem/7568
풀이
이 문제에서는 덩치는 키와 몸무게가 둘 다 크다면 덩치가 더 큰 것으로 판단합니다.
자기 자신보다 덩치가 큰 사람의 수 + 1이 자신의 덩치 등수가 되므로,
자기 자신과 모든 사람과의 덩치를 비교를 해서 풀이할 수 있습니다.
즉, 완전탐색으로 풀이할 수 있습니다.
$O(n^2)$의 시간복잡도가 소요될 것이고 n이 최대 50이므로 완전탐색으로 풀이시, 충분한 시간내에 가능합니다.
저는 키와 몸무게를 프로퍼티로 갖고 있고, Comparable 프로토콜을 채택하고있는 구조체를 만들어주었고,
비교연산자를 오버로딩 하여서 객체의 대 소를 비교하였습니다.
물론 (Int, Int) 형태의 튜플로 키와 몸무게 값을 비교해도 무방합니다.
소스코드
후기
연산자 오버로딩, Comparable 등의 기능을 활용해서 풀어봤는데,
PS가 아닌 실제로 구현할 때에도 자주 사용할 수 있을 것 같아서 사용하는 것도 괜찮다는 느낌을 받았습니다.
반응형
'PS > 백준' 카테고리의 다른 글
[BOJ] 백준 1436 영화감독 숌 (Swift) (0) | 2023.03.13 |
---|---|
[BOJ] 백준 1018 체스판 다시 칠하기 (Swift) (1) | 2023.03.13 |
[BOJ] 백준 2231 분해합 (Swift) (0) | 2023.03.13 |
[BOJ] 백준 2798 블랙잭 (Swift) (0) | 2023.03.13 |
[BOJ] 백준 18870 좌표 압축 (Swift) (0) | 2023.03.10 |