ํ์ด ๋ ์ง : 2025.04.25
๋ฌธ์ ์ ํ : ์์ ํ์
๋ฌธ์ ์ ๋ชฉ : ์ต์์ง์ฌ๊ฐํ
๋ฌธ์ ๋งํฌ : https://school.programmers.co.kr/learn/courses/30/lessons/86491
Intuition
- ๋ช
ํจ์ ๊ฐ๋ก,์ธ๋ก ํฌ๊ธฐ๊ฐ ๋ด๊ธด ๋ฐฐ์ด์ด ์ฃผ์ด์ง ๋, ๋ชจ๋ ๋ช
ํจ์ ๋ด์ ์ ์๋ ์ง๊ฐ์ ํฌ๊ธฐ๋ฅผ ๊ตฌํด์ผ ํ๋ค.
- ๊ฐ ๋ช ํจ์ ํ์ ์ด ๊ฐ๋ฅํ๋ค. (๊ฐ๋ก, ์ธ๋ก๋ฅผ ๋ฐ๊ฟ ์ ์๋ค.)
- ๊ฐ ๋ช
ํจ๋ง๋ค ๊ธด ์ชฝ์ ๊ฐ๋ก์, ์งง์ ์ชฝ์ ์ธ๋ก์ ๋๋ค๊ณ ์๊ฐํด๋ณด๋ฉด, ๊ธด ์ชฝ ์ค์ ์ต๋๊ฐ๊ณผ ์งง์ ์ชฝ ์ค์ ์ต๋๊ฐ์ ๊ตฌํ๋ฉด ๋ชจ๋ ๋ช
ํจ์ ๋ค ๋ฃ์ ์ ์๋ค.
- ๋ฌธ์ ์ ํ์ ์์ ํ์(Brute force)๋ผ๊ณ ๋์ด ์์ง๋ง, ๋ช ํจ์ ํ์ ํ ๋ชจ๋ ์กฐํฉ์ ์๋ํ์ง ์๊ณ ๊ทธ๋ฆฌ๋ ์๊ณ ๋ฆฌ์ฆ์ผ๋ก ํธ๋ ๊ฒ ๋ ํจ์จ์ ์ผ ๊ฒ ๊ฐ๋ค.
Approach
- ๋ช ํจ ํฌ๊ธฐ์์ ํฐ ์ชฝ์ ๊ธธ์ด๋ฅผ ๋ด์ ๋ฐฐ์ด(longs), ์์ ์ชฝ์ ๊ธธ์ด๋ฅผ ๋ด์ ๋ฐฐ์ด(shorts)์ ์ ์ธํ๋ค.
- sizes๋ฅผ ์ํํ๋ฉด์ ํฐ ์ชฝ์ ๊ธธ์ด๋ฅผ longs, ์์ ์ชฝ์ ๊ธธ์ด๋ฅผ shorts์ ๋ด๋๋ค.
- longs์ ์ต๋๊ฐ, shorts์ ์ต๋๊ฐ์ ๊ณฑํ ๊ฐ(= ์ง๊ฐ์ ์ต๋ ํฌ๊ธฐ)๋ฅผ ๋ฐํํ๋ค.
Complexity
- Time complexity :
O(n)
- sizes์ ํฌ๊ธฐ๋ฅผ n์ด๋ผ๊ณ ํ ๋ sizes๋ฅผ ์ํํ๋ฏ๋ก O(n)์ด๋ค.
- Splace complexity :
O(n)
- longs, shorts ์ถ๊ฐ ๋ฐฐ์ด์ ์์ฑํ๊ณ ๋ฐฐ์ด์ ํฌ๊ธฐ๋ ๊ฐ๊ฐ n์ด๋ฏ๋ก O(n)์ด๋ค.
Code (JS)
function solution(sizes) {
const longs = [];
const shorts = [];
for (const size of sizes) {
longs.push(Math.max(...size));
shorts.push(Math.min(...size));
}
return Math.max(...longs) * Math.max(...shorts);
}
'์๊ณ ๋ฆฌ์ฆ ๋ฌธ์ ํ์ด > Programmers - Lv.1' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ํ๋ก๊ทธ๋๋จธ์ค Lv.1] ํธ๋ ํ์ดํธ ๋ํ (0) | 2025.05.01 |
---|---|
[ํ๋ก๊ทธ๋๋จธ์ค Lv.1] ์ซ์ ๋ฌธ์์ด๊ณผ ์๋จ์ด (0) | 2025.04.28 |
[ํ๋ก๊ทธ๋๋จธ์ค Lv.1] ์์ฐ (0) | 2025.04.25 |
[ํ๋ก๊ทธ๋๋จธ์ค Lv.1] ๊ณต์ ์ฐ์ฑ (0) | 2025.04.24 |