SMALL
문제 설명 및 예시
주어진 배열의 원소 중 두 개를 곱한 최댓값을 반환하는 함수를 작성하는 문제이다.
풀이
1. 우선 배열의 원소를 오름차순으로 정렬한다.
2. 배열의 길이를 구한다.
3. 배열에 음수가 포함될 수 있으므로 가장 작은 음수끼리의 곱 , 가장 큰 양수끼리의 곱을 비교해 최댓값을 반환해야한다.
4. 배열 길이를 활용해 가장 큰 두 개의 양수 (마지막 원소, 그 전 원소)를 곱한 값과 가장 작은 두 개의 음수 (첫 번째 원소, 두 번째 원소)를 곱한 값 중 큰 값을 반환한다. *Math.max() 함수 활용
최댓값을 구하는 문제는 흔히 볼 수 있고 익숙하지만 이번 문제는 음수까지 고려해야하는게 포인트라고 생각한다.
배열의 정렬과 Math.max()함수를 활용하면 어렵지 않게 해결할 수 있는 문제인듯.
출처 : https://school.programmers.co.kr/learn/courses/30/lessons/120862
'Java' 카테고리의 다른 글
[프로그래머스] 중복된 문자 제거 (0) | 2023.10.16 |
---|---|
[프로그래머스] 369 게임 (0) | 2023.10.16 |
[프로그래머스] 피자 나눠 먹기 (2) (0) | 2023.10.16 |
[프로그래머스] 다음에 올 숫자 (0) | 2023.10.13 |
[프로그래머스] 로그인 성공? (0) | 2023.10.13 |
댓글