
* 문제 풀이
class Solution {
public int solution(int[] numbers) {
int answer = 0;
int maxNum = 0;
for(int i = 0; i < numbers.length; i++){
for(int j = i + 1; j < numbers.length; j++){
if(numbers[i] * numbers[j] > maxNum){
maxNum = numbers[i] * numbers[j];
}
}
}
return answer = maxNum;
}
}

위처럼 코드를 작성했는데 7번 케이스에서 오류가 떴다. 질문하기 보니까 7번 오류가 많았다. 킬러문항인가봐
[-2, 4] 처럼 음수 양수 2개로만 이루어진 배열 케이스이라고 한다.
answer를 0으로 초기화 했기 떄문에 문제가 생긴 거였다. 음수가 최대값이 될 수도 있으니 그걸 고려해서 다시 해야 함.
class Solution {
public int solution(int[] numbers) {
int answer = -100000000;
for(int i = 0; i < numbers.length; i++){
for(int j = i + 1; j < numbers.length; j++){
int maxNum = numbers[i] * numbers[j];
if(maxNum > answer){
answer = maxNum;
}
}
}
return answer;
}
}

int answer를 최소값인 -100000000로 초기화해서 진행
'코테 > 프로그래머스 JAVA Lv.0' 카테고리의 다른 글
| [프로그래머스/java/Lv.0] 정수 찾기 (0) | 2025.01.09 |
|---|---|
| [프로그래머스/java/Lv.0] 약수 구하기 (0) | 2025.01.08 |
| [프로그래머스/java/Lv.0] 주사위의 개수 (0) | 2025.01.07 |
| [프로그래머스/java/Lv.0] 직각삼각형 출력하기 (0) | 2025.01.06 |
| [프로그래머스/java/Lv.0] 길이에 따른 연산 (0) | 2025.01.04 |