๋ฌธ์ œ

๊ฐ€์žฅ ๊ธด ๊ฐ€๋กœ ๊ธธ์ด์™€ ์„ธ๋กœ ๊ธธ์ด๊ฐ€ ๊ฐ๊ฐ 80, 70์ด๊ธฐ ๋•Œ๋ฌธ์— 80(๊ฐ€๋กœ) x 70(์„ธ๋กœ) ํฌ๊ธฐ์˜ ์ง€๊ฐ‘์„ ๋งŒ๋“ค๋ฉด ๋ชจ๋“  ๋ช…ํ•จ๋“ค์„ ์ˆ˜๋‚ฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ 2๋ฒˆ ๋ช…ํ•จ์„ ๊ฐ€๋กœ๋กœ ๋ˆ•ํ˜€ ์ˆ˜๋‚ฉํ•œ๋‹ค๋ฉด 80(๊ฐ€๋กœ) x 50(์„ธ๋กœ) ํฌ๊ธฐ์˜ ์ง€๊ฐ‘์œผ๋กœ ๋ชจ๋“  ๋ช…ํ•จ๋“ค์„ ์ˆ˜๋‚ฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋•Œ์˜ ์ง€๊ฐ‘ ํฌ๊ธฐ๋Š” 4000(=80 x 50)์ž…๋‹ˆ๋‹ค.

 

๋ชจ๋“  ๋ช…ํ•จ์˜ ๊ฐ€๋กœ ๊ธธ์ด์™€ ์„ธ๋กœ ๊ธธ์ด๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” 2์ฐจ์› ๋ฐฐ์—ด sizes๊ฐ€ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ฃผ์–ด์ง‘๋‹ˆ๋‹ค. ๋ชจ๋“  ๋ช…ํ•จ์„ ์ˆ˜๋‚ฉํ•  ์ˆ˜ ์žˆ๋Š” ๊ฐ€์žฅ ์ž‘์€ ์ง€๊ฐ‘์„ ๋งŒ๋“ค ๋•Œ, ์ง€๊ฐ‘์˜ ํฌ๊ธฐ๋ฅผ return ํ•˜๋„๋ก solution ํ•จ์ˆ˜๋ฅผ ์™„์„ฑํ•ด์ฃผ์„ธ์š”.

ํ’€์ด

๊ฐ€๋กœ ๊ธธ์ด ์ค‘์— ๊ฐ€์žฅ ๊ธด ๊ฒƒ, ์„ธ๋กœ ๊ธธ์ด ์ค‘์— ๊ฐ€์žฅ ๊ธด ๊ฒƒ์„ ๊ณฑํ•œ๊ฒŒ ์ตœ์†Œ ์ง€๊ฐ‘ํฌ๊ธฐ๊ฐ€ ๋  ์ˆ˜ ์žˆ๋‹ค.

ํ•˜์ง€๋งŒ ์„ธ๋กœ๊ธธ์ด๊ฐ€ ๊ฐ€์žฅ ํฐ ๋ช…ํ•จ์ด ๊ฐ€๋กœ๋กœ ๋ˆ•ํ˜€์„œ ์ˆ˜๋‚ฉํ•  ์ˆ˜ ์žˆ๊ฒŒ๋œ๋‹ค๋ฉด, ๋” ์ž‘์€ ์‚ฌ์ด์ฆˆ๋กœ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค. 

 

๊ฐ ๋ฐฐ์—ด์—์„œ ์›์†Œ๋ผ๋ฆฌ ๋น„๊ตํ•ด์„œ ํฐ ๊ฐ’์€ 0๋ฒˆ์งธ, ์ž‘์€ ๊ฐ’์€ 1๋ฒˆ์งธ ์ž๋ฆฌ์— ๋ฐฐ์น˜ํ•œ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ํฐ ๊ฐ’์„ ๋ชจ์•„์„œ big์ด๋ผ๋Š” ๋ฐฐ์—ด์— pushํ•˜๊ณ , ์ž‘์€ ๊ฐ’์„ small์ด๋ผ๋Š” ๋ฐฐ์—ด์— pushํ•œ๋‹ค. ๊ฐ™์„ ๊ฒฝ์šฐ ๊ทธ๋Œ€๋กœ ๋„ฃ๋Š”๋‹ค. ๊ฐ ๋ฐฐ์—ด์—์„œ Math.max() ๋ฉ”์†Œ๋“œ๋กœ ์ฐพ์•„์„œ ๊ณฑํ•˜๊ณ  answer๋กœ ๋ฆฌํ„ดํ•œ๋‹ค. 

 

์ฝ”๋“œ

const solution = (sizes) => {
  let answer;
  let temp;
  let small = [];
  let big = [];

  for (let i = 0; i < sizes.length; i++) {
    if (sizes[i][0] < sizes[i][1]) {
      temp = sizes[i][1];
      sizes[i][1] = sizes[i][0];
      sizes[i][0] = temp;
    }
    small.push(sizes[i][1]);
    big.push(sizes[i][0]);
  }
  
  answer = Math.max(...big) * Math.max(...small);
  return answer;
}

const sizes = [[60, 50], [30, 70], [60, 30], [80, 40]];
console.log(solution(sizes));

 

 

๋‹ค๋ฅธ ํ’€์ด

๋งคํ•‘์„ ํ•ด์„œ ์ •๋ ฌ๋œ ๋ฐฐ์—ด์„ ๋งŒ๋“ค๊ณ , ๋ฐ”๋กœ 0๋ฒˆ์งธ ์š”์†Œ๋“ค๋งŒ ๋งคํ•‘ํ•ด์„œ ์ตœ๋Œ€๊ฐ’์„ ์ฐพ๊ณ , 1๋ฒˆ์งธ ์š”์†Œ๋“ค๋งŒ ๋งคํ•‘ํ•ด์„œ ์ตœ๋Œ€๊ฐ’์„ ์ฐพ์•„์„œ ๊ณฑํ•ด์„œ ๋ฆฌํ„ดํ•˜๋Š” ๋ฐฉ๋ฒ•๋„ ์žˆ์—ˆ๋‹ค. 

const solution = (sizes) => {
  const newSizes = sizes.map(e => e.sort((a, b) => a - b));
  return Math.max(...newSizes.map(e => e[0])) * Math.max(...newSizes.map(e => e[1]));
}

const sizes = [[60, 50], [30, 70], [60, 30], [80, 40]];
console.log(solution(sizes));

+ Recent posts