ํ๋ก๊ทธ๋๋จธ์ค LV. 1 ์ต์์ง์ฌ๊ฐํ JS
๋ช ํจ ์ง๊ฐ์ ๋ง๋๋ ํ์ฌ์์ ์ง๊ฐ์ ํฌ๊ธฐ๋ฅผ ์ ํ๋ ค๊ณ ํฉ๋๋ค. ๋ค์ํ ๋ชจ์๊ณผ ํฌ๊ธฐ์ ๋ช ํจ๋ค์ ๋ชจ๋ ์๋ฉํ ์ ์์ผ๋ฉด์, ์์์ ๋ค๊ณ ๋ค๋๊ธฐ ํธํ ์ง๊ฐ์ ๋ง๋ค์ด์ผ ํฉ๋๋ค. ์ด๋ฌํ ์๊ฑด์ ๋ง์กฑํ๋ ์ง๊ฐ์ ๋ง๋ค๊ธฐ ์ํด ๋์์ธํ์ ๋ชจ๋ ๋ช ํจ์ ๊ฐ๋ก ๊ธธ์ด์ ์ธ๋ก ๊ธธ์ด๋ฅผ ์กฐ์ฌํ์ต๋๋ค.
์๋ ํ๋ 4๊ฐ์ง ๋ช ํจ์ ๊ฐ๋ก ๊ธธ์ด์ ์ธ๋ก ๊ธธ์ด๋ฅผ ๋ํ๋ ๋๋ค.
๋ช ํจ๋ฒํธ ๊ฐ๋ก ๊ธธ์ด ์ธ๋ก ๊ธธ์ด 1 60 50 2 30 70 3 60 30 4 80 40 ๊ฐ์ฅ ๊ธด ๊ฐ๋ก ๊ธธ์ด์ ์ธ๋ก ๊ธธ์ด๊ฐ ๊ฐ๊ฐ 80, 70์ด๊ธฐ ๋๋ฌธ์ 80(๊ฐ๋ก) x 70(์ธ๋ก) ํฌ๊ธฐ์ ์ง๊ฐ์ ๋ง๋ค๋ฉด ๋ชจ๋ ๋ช ํจ๋ค์ ์๋ฉํ ์ ์์ต๋๋ค. ํ์ง๋ง 2๋ฒ ๋ช ํจ์ ๊ฐ๋ก๋ก ๋ํ ์๋ฉํ๋ค๋ฉด 80(๊ฐ๋ก) x 50(์ธ๋ก) ํฌ๊ธฐ์ ์ง๊ฐ์ผ๋ก ๋ชจ๋ ๋ช ํจ๋ค์ ์๋ฉํ ์ ์์ต๋๋ค. ์ด๋์ ์ง๊ฐ ํฌ๊ธฐ๋ 4000(=80 x 50)์ ๋๋ค.
๋ชจ๋ ๋ช ํจ์ ๊ฐ๋ก ๊ธธ์ด์ ์ธ๋ก ๊ธธ์ด๋ฅผ ๋ํ๋ด๋ 2์ฐจ์ ๋ฐฐ์ด sizes๊ฐ ๋งค๊ฐ๋ณ์๋ก ์ฃผ์ด์ง๋๋ค. ๋ชจ๋ ๋ช ํจ์ ์๋ฉํ ์ ์๋ ๊ฐ์ฅ ์์ ์ง๊ฐ์ ๋ง๋ค ๋, ์ง๊ฐ์ ํฌ๊ธฐ๋ฅผ return ํ๋๋ก solution ํจ์๋ฅผ ์์ฑํด์ฃผ์ธ์.
์ ํ์ฌํญ
- sizes์ ๊ธธ์ด๋ 1 ์ด์ 10,000 ์ดํ์ ๋๋ค.
- sizes์ ์์๋ [w, h] ํ์์ ๋๋ค.
- w๋ ๋ช ํจ์ ๊ฐ๋ก ๊ธธ์ด๋ฅผ ๋ํ๋ ๋๋ค.
- h๋ ๋ช ํจ์ ์ธ๋ก ๊ธธ์ด๋ฅผ ๋ํ๋ ๋๋ค.
- w์ h๋ 1 ์ด์ 1,000 ์ดํ์ธ ์์ฐ์์ ๋๋ค.
์ ์ถ๋ ฅ ์
sizes | result |
---|---|
[[60, 50], [30, 70], [60, 30], [80, 40]] | 4000 |
[[10, 7], [12, 3], [8, 15], [14, 7], [5, 15]] | 120 |
[[14, 4], [19, 6], [6, 16], [18, 7], [7, 11]] | 133 |
function solution(sizes) {
let maxW = 0
let maxH = 0
let all = sizes.map(([w, h]) => {
if(w > h) return [w, h]
else return [h, w]
}) // ์ธ๋ก๊ฐ ๊ธธ์ด๋ ๋ชจ๋ ๊ฐ๋ก๊ฐ ๊ธธ์ ํํ๋ก ๋ฐ๊ฟ์ ์ ์ฅํด์ค๋ค.
all.forEach(([w, h]) => {
maxW = Math.max(maxW, w)
maxH = Math.max(maxH, h)
}) // ๊ฐ๋ก๊ฐ ๋ฌด์กฐ๊ฑด ๊ธด ํํ๋ก ๋ณํํ ๋ค์์ ๊ฐ๋ก์ ์ธ๋ก์ ๊ธธ์ด๊ฐ ๊ฐ์ฅ ๊ธด ๊ฐ๋ค์ ๊ตฌํ๋ค.
return maxW * maxH
}