CodingTest

프로그래머스 - 최댓값 만들기 (JAVA)

쩡선영 2023. 1. 3. 23:50

프로그래머스 0단계 최댓값 만들기 문제입니다!

https://school.programmers.co.kr/learn/courses/30/lessons/120847

 

프로그래머스

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

programmers.co.kr

 

● 문제설명

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

<<제안사항>>

0<= numbers의 원소 <= 10,000

2<= numbers의 길이 <= 100

 

 

● 내가 직접 짜본 코드

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

 

● 코드 해설

1) select정렬을 이용하여 numbers[]를 오름차순으로 정리 해 준 다음

2) 가장 큰 숫자와, 두 번째로 큰 숫자를 곱해줬습니다

 

●  select정렬 정리

오랜만에 하려다가 보니 잠깐 까먹었어서 select정렬을 정리해보겠습니다!

사실 정리랄건 없고 제가 끄적여본... 손코딩? 그림코딩?

영깅이 스탈의 select 배열 정리

완전 제 방식으로 끄적여본거라 못알아보실 수도 있더욤...ㅎㅎ

암튼 빠바잉