[Swift] 2920 음계 - 백준 B2

Ryan (Geonhee) Son·2021년 7월 6일
1

Swift로 백준 2920 음계 문제를 해결하며 얻은 지식을 정리합니다.

문제로 이동

풀이

let input = readLine()!.split(separator: " ")

if input == input.sorted() {
    print("ascending")
} else if input == input.sorted(by: >) {
    print("descending")
} else {
    print("mixed")
}

고민한 내용

자신을 역순으로 정렬하여 반환하는 resersed() 메서드는 기존 타입과 달리 ReversedCollection<Array<Element>> 타입으로 반환하기에 조건문을 통해 비교할 때 추가 처리를 하여야 하는 번거로움이 있음을 깨달았습니다.

역순 정렬이 필요할 경우에는 sorted(by:) 메서드를 이용하거나, 자신을 변경하여도 되는 경우 reverse() 메서드를 이용하자고 판단했습니다.

사용한 개념

  • sorted()
  • sorted(by:)
profile
합리적인 해법 찾기를 좋아합니다.

0개의 댓글