이 문제를 풀 때 쉽게 생각할 수 있는 풀이는
음수*음수->양수
양수*양수->양수
이렇게 묶어서 합을 최대로 만드는것이다.
조금 더 생각하면,
음수의 개수가 홀수개일 때,-3, -2, -1
을 (-3 * -2) + -1
로 묶을 수 있다.
여기서 0이 1개이상일경우-3, -2, -1, 0
을 (-3 * -2) + (-1 * 0)
로 묶어서 -1을 없애줄 수 있다.
여기까지는 생각하기 쉽지만 한가지 간과한 것이 있다.
1은 무엇과 곱해도 손해이다. 무조건 더하는것이 낫다.4, 3, 2, 1
-> (4 * 3) + (2 * 1) = 14
-> (4 * 3) + 2 + 1 = 15
0과 함께 있는 경우에도 마찬가지이다.4, 3, 1, 0
-> (4 * 3) + (1 * 0) = 12
-> (4 * 3) + 1 + 0 = 13
'프로그래밍 > PS' 카테고리의 다른 글
[c++][template] quick sort (0) | 2021.06.11 |
---|---|
[백준] Class 3 All Solved (0) | 2021.06.03 |
[백준 2109] 순회강연 (0) | 2021.05.26 |
[백준 14500] 테트로미노 (0) | 2021.03.25 |
[백준] 골드V 달성 (0) | 2021.03.24 |