https://school.programmers.co.kr/learn/courses/30/lessons/120862
두 수의 절댓값의 곱이 가장 크도록 해야 한다
그러므로 두 수의 조건 :
(1) 같은 양수 또는 같은 음수 (2) 가장 큰 절댓값
배열을 정렬해서 가장 작은 수끼리, 가장 큰 수끼리 곱하면 위의 두 조건을 성립한다
def solution(numbers):
numbers.sort()
return max(numbers[0]*numbers[1], numbers[-1]*numbers[-2])
연습장에 필요한 조건들과 이를 충족하기 위한 방법을 먼저 강구하고 코드로 옮겼더니 바로 풀렸다.
심지어 고민하다 코드가 너무 더러워서 몇 번이나 미룬 문제였는데..!
역시 고민하는 시간이 중요하다.
- 연습장 써서 풀이 고민한 후 코드로 옮기기
- 30분 고민 후 안 풀리면 나중에 풀기
- 더럽게 풀었으면 답지 보고
(1) 정리
(2) 완벽히 이해(검색 등)
(3) 다시 풀기
(4) 나중에 다시 풀기