230127
문제 설명
정수 배열 numbers가 매개변수로 주어집니다. numbers의 원소 중 두 개를 곱해 만들 수 있는 최댓값을 return하도록 solution 함수를 완성해주세요.
제한사항
0 ≤ numbers의 원소 ≤ 10,000
2 ≤ numbers의 길이 ≤ 100
입출력 예
numbers | result |
---|---|
[1, 2, 3, 4, 5] | 20 |
[0, 31, 24, 10, 1, 9] | 744 |
def solution(numbers):
n_sort = sorted(numbers)
return n_sort[-1] * n_sort[-2]
좀 더 나은 방법을 찾으려고 해봤으나 이게 현재로서는 최선이었다.
def solution(numbers):
numbers.sort()
return numbers[-2] * numbers[-1]
근데 뭐.. 다른 사람도 비슷하다. 후.. 보통은 됐다.
230130
문제 설명
정수 배열 numbers가 매개변수로 주어집니다. numbers의 원소 중 두 개를 곱해 만들 수 있는 최댓값을 return하도록 solution 함수를 완성해주세요.
제한사항
-10,000 ≤ numbers의 원소 ≤ 10,000
2 ≤ numbers 의 길이 ≤ 100
입출력 예
numbers | result |
---|---|
[1, 2, -3, 4, -5] | 15 |
[0, -31, 24, 10, 1, 9] | 240 |
[10, 20, 30, 5, 5, 20, 5] | 600 |
def solution(numbers):
n_sort = sorted(numbers)
return max(n_sort[-1] * n_sort[-2], n_sort[0] * n_sort[1])
어? 뭐지 하다가 음수랑 양수곱하면 음수되는데...
그럼 그냥 양수끼리 곱한거랑 음수끼리 곱한거 중 가장 큰 값을 최댓값으로 하자~하고 했다.
풀고 다른 사람 풀이도 봤는데 다 나랑 같다.
역시 사람 생각 거기서 거기군