๐ŸŒ  ๋ฌธ์ œ

์ •์ˆ˜ ๋ฐฐ์—ด 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 ์ž…๋‹ˆ๋‹ค.

๐Ÿงž ํ’€์ด

function solution(numbers) {
    // ์–‘์ˆ˜๋Š” ์–‘์ˆ˜๋ผ๋ฆฌ, ์Œ์ˆ˜๋Š” ์Œ์ˆ˜๋ผ๋ฆฌ ๊ณฑํ•ด์•ผ ์ตœ๋Œ“๊ฐ’์ด ๋จ
    // ๊ณ ๋กœ ๋‹ค๋ฅธ ๋ฐฐ์—ด์— ๋”ฐ๋กœ ๋‚˜๋ˆ ์„œ ๊ณฑ์…ˆ์„ ํ•  ๊ฒƒ
    let plus = [];
    let minus = [];
    while (numbers.length != 0 ){
        let tmp = numbers.shift();
        if (tmp === Math.abs(tmp)) {
            plus.push(tmp);
        } else {
            minus.push(tmp);
        }
    }
    if (plus.length === 0) {
        minus.sort((a, b) => a - b);
        return minus[0] * minus[1];
    } else if (minus.length === 0) {
        plus.sort((a, b) => b - a);
        return plus[0] * plus[1];
    } else if (minus.length === 1 && plus.length === 1) {
        plus.sort((a, b) => a - b);
        return plus[0] * minus[0];
    } else if (minus.length === 1) {
        plus.sort((a, b) => b - a);
        return plus[0] * plus[1];
    } else if (plus.length === 1) {
        minus.sort((a, b) => a - b);
        return minus[0] * minus[1];
    } else {
        plus.sort((a, b) => b - a);
        minus.sort((a, b) => a - b);
        return plus[0] * plus[1] > minus[0] * minus[1] ? plus[0] * plus[1] : minus[0] * minus[1]
    } 
}

// ์•„ ๋ฐฐ์—ด์ด null์ด ๋  ๋•Œ, ์กฐ๊ธˆ ๋” ์„ธ๋ จ๋˜๊ฒŒ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ์—ˆ์„ํ…๋ฐ,
// ํ™”์žฅ์‹ค์ด ๋„ˆ๋ฌด ๊ธ‰ํ•ด์„œ ๋จธ๋ฆฟ์†์ด ๋ณต์žกํ•ด์ ธ ๋น„ํšจ์œจ์ ์œผ๋กœ ์ผ€์ด์Šค ๋‚˜๋ˆ ์„œ ์ฒ˜๋ฆฌํ•œ ๊ฒƒ ๊ฐ™๋‹ค.

+ Recent posts