🔴 문제
문제 설명
문자열 s에 나타나는 문자를 큰것부터 작은 순으로 정렬해 새로운 문자열을 리턴하는 함수, solution을 완성해주세요. s는 영문 대소문자로만 구성되어 있으며, 대문자는 소문자보다 작은 것으로 간주합니다.
제한 사항
str은 길이 1 이상인 문자열입니다.
입출력 예
s return "Zbcdefg" "gfedcbZ"
🔵 풀이
이번 문제는 너무 간단하다. 그냥 sorted(by: >) 메서드를 이용하면 된다.
func solution(_ s:String) -> String {
return s.sorted(by: >)
}
엇 그런데 리턴타입이 맞지 않는다는 에러가 발생한다!!!!
알고 보니, sorted(by:)는 문자열이든 배열이든, 정렬시킨 후 배열을 반환하더라.
>> var a = "agew"
>> a.sorted() // ["a", "e", "g", "w"]
우리의 리턴타입은 스트링이므로, String으로 감싸서 재도전하니, 오류가 해결됐다.
최종 코드 >
func solution(_ s:String) -> String {
return String(s.sorted(by: >))
}
'Swift > Code Kata (알고리즘)' 카테고리의 다른 글
[Swift|코드카타] (프로그래머스) #37. 행렬의 덧셈 (0) | 2024.03.11 |
---|---|
[Swift|코드카타] (프로그래머스) #36. 문자열 다루기 기본 (0) | 2024.03.09 |
[Swift|코드카타] (프로그래머스) #33. 약수의 개수와 덧셈 - 약수는 제곱근으로! (0) | 2024.03.06 |
[Swift|코드카타] (프로그래머스) 입문 #32. 내적 - 시퀀스 쌍 만드는 zip(_:_:), map, reduce (0) | 2024.03.05 |
[Swift|코드카타] (프로그래머스) 입문 #30. 가운데 글자 가져오기 - String.index 대신 배열로 쪼개어 풀자 (0) | 2024.03.04 |