코테/프로그래머스

[프로그래머스/Lv. 0] 최댓값 만들기 (2)

imname1am 2023. 2. 9. 11:19
반응형

내 코드 (틀림)

class Solution {
    public int solution(int[] numbers) {
        int max = 1;
        
        for(int i = 0 ; i < numbers.length ; i++) {
            for(int j= i+1 ; j < numbers.length ; j++) {
                if(numbers[i] * numbers[j] > max) {
                    max = numbers[i] * numbers[j];
                }
            }
        }
        
        return max;
    }
}

음 샘플 테스트 3개는 맞는데 채점하니까 틀림...ㅠ

 

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

그래서 힌트를 확인했더니... 최댓값을 1로 해놓아서 그랬던 틀렸던 것이란다...

그래서  int max =  Integer.MIN_VALUE;로 수정했더니 통과했다...휴

 

내 코드 (정답)

class Solution {
    public int solution(int[] numbers) {
        int max = Integer.MIN_VALUE;
        
        for(int i = 0 ; i < numbers.length ; i++) {
            for(int j= i+1 ; j < numbers.length ; j++) {
                if(numbers[i] * numbers[j] > max) {
                    max = numbers[i] * numbers[j];
                }
            }
        }
        
        return max;
    }
}


다른 정답

import java.util.Arrays;

class Solution {
    public int solution(int[] numbers) {
        Arrays.sort(numbers);
        return Math.max(numbers[0] * numbers[1], numbers[numbers.length - 1] * numbers[numbers.length - 2]);
    }
}

나도 Arrays.sort() 이거 할 생각을 했었다만...

return에서 Math.max()로 저렇게 두 값 비교할 때 뭔가 반례 나올 줄 알고 시도 안 해봤었는데...

딱콩이다 나 자신...

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

반응형