코딩테스트

[Swift 알고리즘] 백준 BOJ 2752 - 세 수 정렬

유정주 2021. 9. 9. 00:10
반응형

BOJ 2752 - 세 수 정렬

안녕하세요. 개발 중인 정주입니다.

 

오늘은 BOJ의 2752번 세 수 정렬 문제를 풀었습니다.

쉬운 문제이지만 정렬에 대해 간단히 정리하기 위해 포스팅 남깁니다.

자세한 정렬 분석은 따로 포스팅을 작성하도록 하겠습니다.

 


Github

https://github.com/jeongju9216/swiftAlgorithm

 

문제 링크

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


풀이

Swift의 내장 함수 sort() 혹은 sorted()를 사용하면 쉽게 해결이 됩니다.

Swift의 정렬은 Tim Sort로 되어 있으며 시간 복잡도는 O(nlogn)입니다.

Tim Sort는 Insert Sort와 Merge Sort가 섞여있는 방식인데요. 자세한 건 따로 포스팅을 작성하려고 합니다.

 


최종 코드

let input = readLine()!.split(separator: " ").map { Int(String($0))! }.sorted()
print("\(input[0]) \(input[1]) \(input[2])")

입력값을 sorted()로 정렬하여 출력합니다.


마무리 인사

Swift는 자체적으로 시간 복잡도가 괜찮은 정렬 함수를 지원해줘서 좋은 것 같습니다.

감사합니다!


아직은 초보 개발자입니다.

더 효율적인 코드 훈수 환영합니다!

공감 댓글 부탁드립니다.

반응형