[프로그래머스 LV0] 최댓값 만들기 (2)

jonghwan·2022년 11월 14일
0

프로그래머스

목록 보기
57/71
post-thumbnail

1. 문제 설명

최댓값 만들기 (2)

2. 문제 분석

numbers 배열 요소 중에 제일 큰 값과 두 번째로 큰 값을 곱해준 값과 제일 작은 값과 두 번째로 작은 값을 곱해준 값(둘 다 음수 일 경우가 있으므로)을 비교해서 더 큰 값을 반환해준다.

3. 나의 풀이

import Foundation

func solution(_ numbers:[Int]) -> Int {
    var arr: [Int] = numbers.sorted(by: >)
    
    if arr[0] * arr[1] > arr[arr.count - 1] * arr[arr.count - 2] {
        return arr[0] * arr[1]
    } else {
        return arr[arr.count - 1] * arr[arr.count - 2]
    }
}

4. 다른 사람의 풀이

import Foundation

func solution(_ numbers:[Int]) -> Int {
    var numbers = numbers.sorted()

    return max(numbers[0] * numbers[1], numbers[numbers.count-1] * numbers[numbers.count - 2])
}

max() 메서드를 활용하면 두 값을 비교해서 더 큰 값을 반환해준다 👍

0개의 댓글