https://school.programmers.co.kr/learn/courses/30/lessons/86491
๋ฌธ์ ์ค๋ช
๋ช ํจ ์ง๊ฐ์ ๋ง๋๋ ํ์ฌ์์ ์ง๊ฐ์ ํฌ๊ธฐ๋ฅผ ์ ํ๋ ค๊ณ ํฉ๋๋ค. ๋ค์ํ ๋ชจ์๊ณผ ํฌ๊ธฐ์ ๋ช ํจ๋ค์ ๋ชจ๋ ์๋ฉํ ์ ์์ผ๋ฉด์, ์์์ ๋ค๊ณ ๋ค๋๊ธฐ ํธํ ์ง๊ฐ์ ๋ง๋ค์ด์ผ ํฉ๋๋ค. ์ด๋ฌํ ์๊ฑด์ ๋ง์กฑํ๋ ์ง๊ฐ์ ๋ง๋ค๊ธฐ ์ํด ๋์์ธํ์ ๋ชจ๋ ๋ช ํจ์ ๊ฐ๋ก ๊ธธ์ด์ ์ธ๋ก ๊ธธ์ด๋ฅผ ์กฐ์ฌํ์ต๋๋ค.
์๋ ํ๋ 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 |
์ ์ถ๋ ฅ ์ ์ค๋ช
์ ์ถ๋ ฅ ์ #1๋ฌธ์ ์์์ ๊ฐ์ต๋๋ค.
์ ์ถ๋ ฅ ์ #2๋ช ํจ๋ค์ ์ ์ ํ ํ์ ์์ผ ๊ฒน์ณค์ ๋, 3๋ฒ์งธ ๋ช ํจ(๊ฐ๋ก: 8, ์ธ๋ก: 15)์ด ๋ค๋ฅธ ๋ชจ๋ ๋ช ํจ๋ณด๋ค ํฌ๊ธฐ๊ฐ ํฝ๋๋ค. ๋ฐ๋ผ์ ์ง๊ฐ์ ํฌ๊ธฐ๋ 3๋ฒ์งธ ๋ช ํจ์ ํฌ๊ธฐ์ ๊ฐ์ผ๋ฉฐ, 120(=8 x 15)์ return ํฉ๋๋ค.
์ ์ถ๋ ฅ ์ #3๋ช ํจ๋ค์ ์ ์ ํ ํ์ ์์ผ ๊ฒน์ณค์ ๋, ๋ชจ๋ ๋ช ํจ์ ํฌํจํ๋ ๊ฐ์ฅ ์์ ์ง๊ฐ์ ํฌ๊ธฐ๋ 133(=19 x 7)์ ๋๋ค.
๋ด ํด๋ต
#include <string>
#include <vector>
using namespace std;
int solution(vector<vector<int>> sizes) {
int answer = 0;
int max_width = 0;
int max_height = 0;
int width, height = 0;
for(const auto& card : sizes)
{
// ๊ธด ์ชฝ์ ๊ฐ๋ก ๋ฐฉํฅ์ผ๋ก ์ค์
width = card[0] >= card[1] ? 0 : 1;
height = width != 0 ? 0 : 1;
if(card[width] > max_width)
max_width = card[width];
if(card[height] > max_height)
max_height = card[height];
}
answer = max_width * max_height;
return answer;
}
'๐ฅ๏ธ Study Note > Coding Test' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
ํ๋ก๊ทธ๋๋จธ์ค / level.2 / ์์ ์ฐพ๊ธฐ(C++) (0) | 2023.03.28 |
---|---|
ํ๋ก๊ทธ๋๋จธ์ค / level.1 / ๋ชจ์๊ณ ์ฌ(C++) (0) | 2023.03.27 |
ํ๋ก๊ทธ๋๋จธ์ค / level.2 / H-Index(C++) (0) | 2023.03.24 |
ํ๋ก๊ทธ๋๋จธ์ค / level.2 / ๊ฐ์ฅ ํฐ ์(C++) (0) | 2023.03.23 |
ํ๋ก๊ทธ๋๋จธ์ค / level.1 / K๋ฒ์งธ์(C++) (2) | 2023.03.23 |