티스토리 뷰
문제 설명
문자열 s에는 공백으로 구분된 숫자들이 저장되어 있습니다. str에 나타나는 숫자 중 최소값과 최대값을 찾아 이를 "(최소값) (최대값)"형태의 문자열을 반환하는 함수, solution을 완성하세요.
예를들어 s가 "1 2 3 4"라면 "1 4"를 리턴하고, "-1 -2 -3 -4"라면 "-4 -1"을 리턴하면 됩니다.
제한 조건
s에는 둘 이상의 정수가 공백으로 구분되어 있습니다.
내 답안
func solution(_ s:String) -> String {
var arr = Array(s.split(separator: " ").map{ Int($0)! })
var min = arr.sorted{ $0 < $1 }[0]
var max = arr.sorted{ $0 > $1 }[0]
return "\(min) \(max)"
}
접근 방법
배열로 만든 후 -> 오름차순, 내림차순 정렬한다
다른 풀이
func solution(_ s:String) -> String {
let intArr:[Int]=s.split(separator: " ").map({Int($0)!});
return String(intArr.min()!)+" "+String(intArr.max()!);
}
func solution(_ s: String) -> String {
let arr = s.split(separator: " ").compactMap { Int($0) }.sorted()
return "\(arr.first!) \(arr.last!)"
}
알게 된 것
'코딩테스트' 카테고리의 다른 글
나누어 떨어지는 숫자 배열 (0) | 2023.11.03 |
---|---|
두 정수의 합 (0) | 2023.11.03 |
10월 27일 약수의 합 swift (0) | 2023.10.27 |
10월 26일 - 1439 뒤집기 swift (0) | 2023.10.26 |
10월 25일 - Reverse Linked List swift (0) | 2023.10.25 |
최근에 올라온 글