๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
Programmers lv-0

์ตœ๋Œ“๊ฐ’ ๋งŒ๋“ค๊ธฐ (2) - Java [ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ž…๋ฌธ]

by ๊ทคํ”ผํ‚ค 2022. 11. 28.

 

โค๏ธ Problem

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

 

  • ์ œํ•œ ์‚ฌํ•ญ
    • -10,000 ≤ numbers์˜ ์›์†Œ ≤ 10,000
    • 2 ≤ numbers ์˜ ๊ธธ์ด ≤ 100

 

  • ์ž…์ถœ๋ ฅ ์˜ˆ & ์„ค๋ช…
no s result
1 [1, 2, -3, 4, -5] 15
2 [0, -31, 24, 10, 1, 9] 240
3 [10, 20, 30, 5, 5, 20, 5] 600
  1. ๋‘ ์ˆ˜์˜ ๊ณฑ์ค‘ ์ตœ๋Œ“๊ฐ’์€ -3 * -5 = 15 ์ž…๋‹ˆ๋‹ค.
  2. ๋‘ ์ˆ˜์˜ ๊ณฑ์ค‘ ์ตœ๋Œ“๊ฐ’์€ 10 * 24 = 240 ์ž…๋‹ˆ๋‹ค.
  3. ๋‘ ์ˆ˜์˜ ๊ณฑ์ค‘ ์ตœ๋Œ“๊ฐ’์€ 20 * 30 = 600 ์ž…๋‹ˆ๋‹ค.

 


 

๐Ÿ’› Solution

ํ’€์ด

class Solution {
    public int solution(int[] numbers) {
        int start = numbers[0]*numbers[1];
        int max = start;
        for(int i=0; i<numbers.length; i++) {
            for(int j=0; j<numbers.length; j++) {
                if(i!=j) {
                    max = Math.max(max, numbers[i]*numbers[j]);
                } else {
                    continue;
                }
            }
        }
        return max;
    }
}

 

์ฒ˜๋ฆฌ์†๋„๋Š” ํ…Œ์ŠคํŠธ 4๋ฒˆ ๋นผ๊ณ  GOOD

 

 


 

๐Ÿ’œ Comment

์ด ๋ฌธ์ œ๋„ ๋“ค์ธ ์‹œ๊ฐ„(5๋ถ„ ์ •๋„?)์— ๋น„ํ•ด ์ ์ˆ˜๋ฅผ ๋งŽ์ด ๋ฐ›์€ ํŽธ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ ์ˆ˜ ๊ธฐ์ค€์ด ๋„๋Œ€์ฒด ๋ฌด์—‡์ผ๊นŒ?

์ด ๋ฌธ์ œ์˜ ํ•ต์‹ฌ์€ "numbers์˜ ์›์†Œ ์ค‘ ๋‘ ๊ฐœ"๋ฅผ ๊ณฑํ•ด์•ผํ•œ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค. ์ฆ‰, ๋™์ผํ•œ ์ธ๋ฑ์Šค๋ฅผ ๊ฐ€์ง„ ์›์†Œ๋ฅผ ๊ณฑํ•˜์ง€ ์•Š๋„๋ก ๊ตฌ์„ฑํ•˜๋Š” ๊ฒŒ ํ•„์š”ํ•ด๋ณด์˜€๋‹ค. ๊ทธ๋ž˜์„œ ์ด์ค‘ for๋ฌธ์„ ์‚ฌ์šฉํ–ˆ๊ณ , ์ธ๋ฑ์Šค์ธ i์™€ j๊ฐ€ ๋™์ผํ•˜์ง€ ์•Š์€ ๊ฒฝ์šฐ์—๋งŒ ํ•ด๋‹น ์ธ๋ฑ์Šค๋ฅผ ๊ฐ€์ง€๋Š” ๋‘ ๊ฐ’์„ ๊ณฑํ•ด์„œ maxVal๊ณผ ๋น„๊ตํ•˜๋„๋ก ํ•˜์˜€๋‹ค.

maxVal์€ numbers[0]๊ณผ numbers[1]์„ ๊ณฑํ•œ ๊ฐ’์„ ๋„ฃ์€ ์ƒํƒœ๋กœ ์‚ฌ์šฉํ–ˆ๋Š”๋ฐ, numbers์˜ ๊ธธ์ด๊ฐ€ 2์ด๋”๋ผ๋„ ์„ฑ๋ฆฝํ•˜๋Š” ์‹์ด๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

 

4์  ์ข‹์•„์ข‹์•„๐Ÿ˜˜

 

 

 

๋Œ“๊ธ€