IOS/Swift Algorithm Level 1

Swift. 문자열 내림차순으로 배치하기

 문제.

문자열 s에 나타나는 문자를 큰것부터 작은 순으로 정렬해 새로운 문자열을 리턴하는 함수, solution을 완성해주세요.
s는 영문 대소문자로만 구성되어 있으며, 대문자는 소문자보다 작은 것으로 간주합니다.제한 사항

  • str은 길이 1 이상인 문자열입니다.

import UIKit

func solution(_ s:String) -> String {
    let abc = "abcdefghijklmnopqrstuvwxyz"
    let lowercase = (s.filter { abc.firstIndex(of: $0) != nil}).sorted(by: >)
    let uppercase = (s.filter { lowercase.firstIndex(of: $0) == nil}).sorted(by: >)

    return String(lowercase) + String(uppercase)
}

문제를 다풀고 나서 알았던것은 아주 간단한 방법이 있다는 것이였다. 

대문자는 sort에서 자동으로 앞으로 온다는것... 따라서 그냥 아래 코드처럼만 썻으면 ... 오늘도 하나 배웟다.

func solution(_ s:String) -> String {
    return String(s.sorted(by: >))
}

'IOS > Swift Algorithm Level 1' 카테고리의 다른 글

Swift. 소수 찾기  (0) 2020.10.16
Swift. 문자열 다루기 기본  (0) 2020.10.15
Swift. 3진수 뒤집기  (0) 2020.10.13
Swift. 문자열 내 p와 y의 개수  (0) 2020.10.12
Swift. 문자열 내 마음대로 정렬하기  (0) 2020.10.10