๐Ÿ Algorithm/ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค

[Programmers] ์ตœ๋Œ“๊ฐ’ ๋งŒ๋“ค๊ธฐ(2)(์ž๋ฐ”)

Dhey 2023. 4. 16. 02:26
๋ฐ˜์‘ํ˜•

โžฐ๋ฌธ์ œ

์ •์ˆ˜ ๋ฐฐ์—ด numbers๊ฐ€ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ฃผ์–ด์ง‘๋‹ˆ๋‹ค. numbers์˜ ์›์†Œ ์ค‘ ๋‘ ๊ฐœ๋ฅผ ๊ณฑํ•ด ๋งŒ๋“ค ์ˆ˜ ์žˆ๋Š” ์ตœ๋Œ“๊ฐ’์„ returnํ•˜๋„๋ก solution ํ•จ์ˆ˜๋ฅผ ์™„์„ฑํ•ด์ฃผ์„ธ์š”.

 

 

์ œํ•œ์‚ฌํ•ญ

   -  -10,000 ≤ numbers์˜ ์›์†Œ ≤ 10,000

   -  2 ≤ numbers ์˜ ๊ธธ์ด ≤ 100

 


์ž…์ถœ๋ ฅ ์˜ˆ

numbers result
[1, 2, -3, 4, -5] 15
[0, -31, 24, 10, 1, 9] 240
[10, 20, 30, 5, 5, 20, 5] 600

 


์ž…์ถœ๋ ฅ ์˜ˆ ์„ค๋ช…

  ์ž…์ถœ๋ ฅ ์˜ˆ #1

  • ๋‘ ์ˆ˜์˜ ๊ณฑ์ค‘ ์ตœ๋Œ“๊ฐ’์€ -3 * -5 = 15 ์ž…๋‹ˆ๋‹ค.

  ์ž…์ถœ๋ ฅ ์˜ˆ #2

  • ๋‘ ์ˆ˜์˜ ๊ณฑ์ค‘ ์ตœ๋Œ“๊ฐ’์€ 10 * 24 = 240 ์ž…๋‹ˆ๋‹ค.

  ์ž…์ถœ๋ ฅ ์˜ˆ #3

  • ๋‘ ์ˆ˜์˜ ๊ณฑ์ค‘ ์ตœ๋Œ“๊ฐ’์€ 20 * 30 = 600 ์ž…๋‹ˆ๋‹ค.

 

 

 


 

๐Ÿ’กํ’€์ด

๐Ÿ‘€ ์ ‘๊ทผ

  1. ๋ถ€ํ˜ธ๊ฐ€ ๊ฐ™์€ ์ˆ˜๋ผ๋ฆฌ ๊ณฑํ•ด์•ผ ์–‘์ˆ˜์ด๋ฏ€๋กœ ์ตœ๋Œ“๊ฐ’์ด ๋‚˜์˜ฌ ์ˆ˜ ์žˆ๋‹ค.

  2. ์Œ์ˆ˜ ์ค‘์—์„œ๋Š” ๊ฐ€์žฅ ์ž‘์€ ์Œ์ˆ˜๋ผ๋ฆฌ, ์–‘์ˆ˜ ์ค‘์—์„œ๋Š” ๊ฐ€์žฅ ํฐ ์–‘์ˆ˜๋ผ๋ฆฌ ๊ณฑํ•ด์•ผ ํ•œ๋‹ค.

 

 

 

โญ์ œ์ถœ ์ฝ”๋“œ

import java.util.Arrays;

class Solution {
    public int solution(int[] numbers) {
        int answer = 0;
        
        Arrays.sort(numbers);
        
        int a1 = numbers[0]*numbers[1];
        int a2 = numbers[numbers.length-1]*numbers[numbers.length-2];
        answer = (a1 < a2) ? a2 : a1;

        return answer;
    }
}

๐Ÿง ์ฝ”๋“œ ํ’€์ด

  1.  numbers ๋ฐฐ์—ด์„ ์˜ค๋ฆ„์ฐจ์ˆœ ์ •๋ ฌํ•œ๋‹ค.

  2. a1  =>  ๊ฐ€์žฅ ์ž‘์€ ๋‘ ์ˆ˜์˜ ๊ณฑ

       a2  =>  ๊ฐ€์žฅ ํฐ ๋‘ ์ˆ˜์˜ ๊ณฑ

  3. a1๊ณผ a2์ค‘ ๋” ํฐ ์ˆ˜๋ฅผ answer์— ๋Œ€์ž…

 

 

๋ฐ˜์‘ํ˜•