-
[์์ ํ์/Level1/Java] ์ต์ ์ง์ฌ๊ฐํ๊ณต๋ถ/์๊ณ ๋ฆฌ์ฆ 2022. 10. 6. 19:57728x90
๋ฌธ์ ์ค๋ช
๋ช ํจ ์ง๊ฐ์ ๋ง๋๋ ํ์ฌ์์ ์ง๊ฐ์ ํฌ๊ธฐ๋ฅผ ์ ํ๋ ค๊ณ ํฉ๋๋ค. ๋ค์ํ ๋ชจ์๊ณผ ํฌ๊ธฐ์ ๋ช ํจ๋ค์ ๋ชจ๋ ์๋ฉํ ์ ์์ผ๋ฉด์, ์์์ ๋ค๊ณ ๋ค๋๊ธฐ ํธํ ์ง๊ฐ์ ๋ง๋ค์ด์ผ ํฉ๋๋ค. ์ด๋ฌํ ์๊ฑด์ ๋ง์กฑํ๋ ์ง๊ฐ์ ๋ง๋ค๊ธฐ ์ํด ๋์์ธํ์ ๋ชจ๋ ๋ช ํจ์ ๊ฐ๋ก๊ธธ์ด์ ์ธ๋ก ๊ธธ์ด๋ฅผ ์กฐ์ฌํ์ต๋๋ค.
์๋ ํ๋ 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)์ ๋๋ค.
์์ด๋์ด
์ง๊ฐ ๊ฐ๋ก ๊ธธ์ด๋ณด๋ค ์ธ๋ก ๊ธธ์ด๊ฐ ๊ธธ๋ฉด ๋์ ์์น๋ฅผ ๋ฐ๊พผ๋ค.
๊ทธ ํ ๊ฐ๋ก ๊ธธ์ด ์ค max ๊ฐ, ์ธ๋ก ๊ธธ์ด ์ค max๊ฐ์ ๊ฐ๊ฐ ๊ตฌํด ๊ณฑํด์ ํฌ๊ธฐ ๋ฆฌํดํ์!
์ ์ถํ ์ฝ๋
//์ต์ ์ง์ฌ๊ฐํ public class MinimumRectangle { public int solution(int[][] sizes) { int answer = 0; int max_width=0; int max_height=0; for(int i =0;i<sizes.length;i++) { //๊ฐ๋ก๋ณด๋ค ์ธ๋ก๊ฐ ์์ผ๋ฉด ์์น ๋ฐ๊ฟ if(sizes[i][0]<sizes[i][1]) { int tmp = sizes[i][0]; sizes[i][0] = sizes[i][1]; sizes[i][1] = tmp; } if(sizes[i][0]>max_width) { // ๊ฐ๋ก ์ค์์ ํฐ๊ฑฐ ์ฐพ๊ธฐ max_width = sizes[i][0]; } if(sizes[i][1]>max_height) { // ์ธ๋ก ์ค์์ ํฐ๊ฑฐ ์ฐพ๊ธฐ max_height = sizes[i][1]; } } answer= max_width*max_height; return answer; } }
ํ ์คํธ ๊ฒฐ๊ณผ
ํ ์คํธ 1 ใ ํต๊ณผ (0.02ms, 77.7MB) ํ ์คํธ 2 ใ ํต๊ณผ (0.02ms, 73.2MB) ํ ์คํธ 3 ใ ํต๊ณผ (0.01ms, 74.9MB) ํ ์คํธ 4 ใ ํต๊ณผ (0.02ms, 77.2MB) ํ ์คํธ 5 ใ ํต๊ณผ (0.01ms, 73.6MB) ํ ์คํธ 6 ใ ํต๊ณผ (0.02ms, 74.6MB) ํ ์คํธ 7 ใ ํต๊ณผ (0.02ms, 76.4MB) ํ ์คํธ 8 ใ ํต๊ณผ (0.02ms, 84.1MB) ํ ์คํธ 9 ใ ํต๊ณผ (0.02ms, 76.7MB) ํ ์คํธ 10 ใ ํต๊ณผ (0.03ms, 74.5MB) ํ ์คํธ 11 ใ ํต๊ณผ (0.03ms, 77.3MB) ํ ์คํธ 12 ใ ํต๊ณผ (0.03ms, 75.8MB) ํ ์คํธ 13 ใ ํต๊ณผ (0.10ms, 76MB) ํ ์คํธ 14 ใ ํต๊ณผ (0.19ms, 79.7MB) ํ ์คํธ 15 ใ ํต๊ณผ (0.28ms, 78.2MB) ํ ์คํธ 16 ใ ํต๊ณผ (0.42ms, 82.9MB) ํ ์คํธ 17 ใ ํต๊ณผ (0.83ms, 90.7MB) ํ ์คํธ 18 ใ ํต๊ณผ (0.78ms, 84.3MB) ํ ์คํธ 19 ใ ํต๊ณผ (0.72ms, 82.4MB) ํ ์คํธ 20 ใ ํต๊ณผ (1.29ms, 87.7MB) '๊ณต๋ถ > ์๊ณ ๋ฆฌ์ฆ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
1206. [S/W ๋ฌธ์ ํด๊ฒฐ ๊ธฐ๋ณธ] 1์ผ์ฐจ - View (0) 2022.11.19 [Greedy | ํ์์ ์๊ณ ๋ฆฌ์ฆ] ๋ ์ํผ (0) 2022.11.14 [์์ ํ์/Level2/Java] ์นดํซ (1) 2022.10.06 [์์ ํ์/Level2/Java] ํผ๋ก๋ (1) 2022.10.06 [์์ ํ์/Level2/Java] ์์ ์ฐพ๊ธฐ (0) 2022.10.04 - sizes์ ๊ธธ์ด๋ 1 ์ด์ 10,000 ์ดํ์
๋๋ค.