문자열
my_string
이 매개변수로 주어질 때,my_string
안에 있는 숫자만 골라 오름차순 정렬한 리스트를 반환하는solution
함수를 작성하는 문제.제한사항
- 1 ≤
my_string
의 길이 ≤ 100my_string
에는 숫자가 한 개 이상 포함되어 있습니다.my_string
은 영어 소문자 또는 0부터 9까지의 숫자로 이루어져 있습니다.입출력 예
my_string result "hi12392" [1, 2, 2, 3, 9] "p2o4i8gj2" [2, 2, 4, 8] "abcde0" [0]
import Foundation
func solution(_ my_string: String) -> [Int] {
var arr: [Int] = []
for char in my_string {
if let intValue = char.wholeNumberValue {
arr.append(intValue)
}
}
return arr.sorted(by: <)
}
새로 배운 메서드!!!
wholeNumberValue
는 Character
타입의 프로퍼티로, 해당 문자가 숫자(0-9)로 표현될 수 있는 경우 정수 값(Int
)을 반환한다. 만약 문자가 숫자가 아니라면 nil
을 반환한다.
wholeNumberValue
를 사용하면 간결하고 명확하게 구현할 수 있다는 점을 알게 되었다.sorted(by:)
메서드를 사용해 배열을 정렬하는 방법을 복습할 수 있었다.