티스토리 뷰

코딩테스트

10월 27일 - 최댓값과 최솟값 swift

알롱도담쓰 2023. 10. 27. 13:45

문제 설명

문자열 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
최근에 올라온 글