코이팅

프로그래머스 [level 0] 최댓값 만들기 (1) - 자바(java) 본문

프로그래머스/lv0

프로그래머스 [level 0] 최댓값 만들기 (1) - 자바(java)

코이팅 2023. 1. 17. 13:53
728x90
반응형

[level 0] 최댓값 만들기 (1) - 120847

문제 링크

성능 요약

메모리: 78.9 MB, 시간: 0.03 ms

구분

코딩테스트 연습 > 코딩테스트 입문

채점결과


정확성: 100.0
합계: 100.0 / 100.0

문제 설명

정수 배열 numbers가 매개변수로 주어집니다. numbers의 원소 중 두 개를 곱해 만들 수 있는 최댓값을 return하도록 solution 함수를 완성해주세요.


제한사항
  • 0 ≤ numbers의 원소 ≤ 10,000
  • 2 ≤ numbers의 길이 ≤ 100

입출력 예
numbers result
[1, 2, 3, 4, 5] 20
[0, 31, 24, 10, 1, 9] 744

입출력 예 설명

입출력 예 #1

  • 두 수의 곱중 최댓값은 4 * 5 = 20 입니다.

입출력 예 #1

  • 두 수의 곱중 최댓값은 31 * 24 = 744 입니다.

출처: 프로그래머스 코딩 테스트 연습, https://programmers.co.kr/learn/challenges

 

코딩테스트 연습 | 프로그래머스 스쿨

개발자 취업의 필수 관문 코딩테스트를 철저하게 연습하고 대비할 수 있는 문제를 총망라! 프로그래머스에서 선발한 문제로 유형을 파악하고 실력을 업그레이드해 보세요!

school.programmers.co.kr

 

나의 문제풀이

class Solution {
    public int solution(int[] numbers) {
        int answer = 0;
        int max = 0;

        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];
                }
            }
        }
        answer = max;

        return answer;
    }
}

 

코드 설명

  • 2중 반복문을 for문을 사용하여 돌려 numbers의 i 위치의 값 * numbers의 j의 위치의 값이 max보다 크면 max 변수에 둘을 곱한 값을 대입합니다.
  • 이때 같은 위치의 값을 곱해선 안되기 때문에 j의 시작 위치를 i + 1 부터 시작합니다.
728x90
반응형
Comments