๋ฌธ์ ์ค๋ช
https://school.programmers.co.kr/learn/courses/30/lessons/42842
ํ๋ก๊ทธ๋๋จธ์ค
SW๊ฐ๋ฐ์๋ฅผ ์ํ ํ๊ฐ, ๊ต์ก, ์ฑ์ฉ๊น์ง Total Solution์ ์ ๊ณตํ๋ ๊ฐ๋ฐ์ ์ฑ์ฅ์ ์ํ ๋ฒ ์ด์ค์บ ํ
programmers.co.kr
Leo๋ ์นดํซ์ ์ฌ๋ฌ ๊ฐ๋ค๊ฐ ์๋ ๊ทธ๋ฆผ๊ณผ ๊ฐ์ด ์ค์์๋ ๋ ธ๋์์ผ๋ก ์น ํด์ ธ ์๊ณ ํ ๋๋ฆฌ 1์ค์ ๊ฐ์์ผ๋ก ์น ํด์ ธ ์๋ ๊ฒฉ์ ๋ชจ์ ์นดํซ์ ๋ดค์ต๋๋ค.
Leo๋ ์ง์ผ๋ก ๋์์์ ์๊น ๋ณธ ์นดํซ์ ๋ ธ๋์๊ณผ ๊ฐ์์ผ๋ก ์์น ๋ ๊ฒฉ์์ ๊ฐ์๋ ๊ธฐ์ตํ์ง๋ง, ์ ์ฒด ์นดํซ์ ํฌ๊ธฐ๋ ๊ธฐ์ตํ์ง ๋ชปํ์ต๋๋ค.
Leo๊ฐ ๋ณธ ์นดํซ์์ ๊ฐ์ ๊ฒฉ์์ ์ brown, ๋ ธ๋์ ๊ฒฉ์์ ์ yellow๊ฐ ๋งค๊ฐ๋ณ์๋ก ์ฃผ์ด์ง ๋ ์นดํซ์ ๊ฐ๋ก, ์ธ๋ก ํฌ๊ธฐ๋ฅผ ์์๋๋ก ๋ฐฐ์ด์ ๋ด์ return ํ๋๋ก solution ํจ์๋ฅผ ์์ฑํด์ฃผ์ธ์.
์ ํ ์ฌํญ
- ๊ฐ์ ๊ฒฉ์์ ์ brown์ 8 ์ด์ 5,000 ์ดํ์ธ ์์ฐ์์ ๋๋ค.
- ๋ ธ๋์ ๊ฒฉ์์ ์ yellow๋ 1 ์ด์ 2,000,000 ์ดํ์ธ ์์ฐ์์ ๋๋ค.
- ์นดํซ์ ๊ฐ๋ก ๊ธธ์ด๋ ์ธ๋ก ๊ธธ์ด์ ๊ฐ๊ฑฐ๋, ์ธ๋ก ๊ธธ์ด๋ณด๋ค ๊น๋๋ค.
์ ์ถ๋ ฅ ์
brown | yellow | return |
10 | 2 | [4, 3] |
8 | 1 | [3, 3] |
24 | 24 | [8, 6] |
๋ด๊ฐ ์์ฑํ ์ฝ๋
class Solution {
public int[] solution(int brown, int yellow) {
// ๊ฒฐ๊ณผ: [๊ฐ๋ก, ์ธ๋ก]
int[] answer = new int[2];
// ์ ์ฒด ๊ฒฉ์ ์ = ์นดํซ ๋์ด
int total = brown + yellow;
// ์ธ๋ก ๊ธธ์ด
int height = 0;
// ๊ฐ์ ๊ฒฉ์์ ์์ ์ ๋ฐ๋ถํฐ ์์ํด ๊ฐ๋ฅํ ๊ฐ๋ก ๊ธธ์ด i ์ ํ
for (int i = brown / 2; i > 0; i--) {
// i๊ฐ ์ ์ฒด ๋์ด์ ์ฝ์์ผ ๋๋ง ํ๋ณด๊ฐ ๋จ
if (total % i == 0) {
// ์ธ๋ก ๊ณ์ฐ
height = total / i;
}
// ์กฐ๊ฑด1: ๊ฐ์ ๊ฒฉ์ ์๊ฐ ํ
๋๋ฆฌ๋ฅผ ๋ชจ๋ ์ฐจ์งํด์ผ ํจ
// ํ
๋๋ฆฌ: 2*i + 2*width - 4
// ์กฐ๊ฑด2: ์ค์์ ๋
ธ๋์ ๊ฒฉ์ ์ = (i-2) * (height-2)
if (2 * i + 2 * width - 4 == brown && (i-2) * (height-2) == yellow) {
// ๊ฐ๋ก ๊ธธ์ด
answer[0] = i;
// ์ธ๋ก ๊ธธ์ด
answer[1] = height;
// ์กฐ๊ฑด ๋ง์กฑ์ผ๋ก ๋ฐ๋ณต๋ฌธ ์ข
๋ฃ
break;
}
}
// answer ๋ฐํ
return answer;
}
}
๋ฌธ์ ๋ฅผ ํ๊ธฐ ์ํด ์๊ฐํ ๋ฐฉํฅ
๊ฐ๋ก์ ๊ธธ์ด๊ฐ ์ธ๋ก์ ๊ธธ์ด๋ณด๋ค ๊ธธ์ด์ผ ํ๋ค.
brown์ ์ ๋ฐ๋ณด๋ค ๊ฐ๋ก๊ฐ ํด ์ ์์ผ๋๊น ์ ๋ฐ์ผ๋ก ๋๋ ์ i(๊ฐ๋ก ๊ธธ์ด)๋ฅผ ์์์ง๊ฒ ํ๋ฉด์ ํด๋น๋๋ ๊ฐ์ ์ฐพ๋๋ค.
total ๊ฐ(brown + yellow)์ด i๋ก ๋๋์ด ๋จ์ด์ง๋ฉด width์ ๋ชซ์ ์ ์ฅํ๊ณ ๋จ์ ์กฐ๊ฑด์ ๋น๊ตํ๋ค.
'๐งฉ ํ๋ก๊ทธ๋๋จธ์ค > ๐ต ์๊ณ ๋ฆฌ์ฆ ํ์ด(Java)' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ํ๋ก๊ทธ๋๋จธ์ค/Java] ์ ํ์ ์๊ฐ ์ด๋ (1) | 2025.07.08 |
---|---|
[ํ๋ก๊ทธ๋๋จธ์ค/Java] ์ง์ง์ด ์ ๊ฑฐํ๊ธฐ (1) | 2025.04.18 |
[ํ๋ก๊ทธ๋๋จธ์ค/Java] ํผ๋ณด๋์น ์ (1) | 2025.04.17 |
[ํ๋ก๊ทธ๋๋จธ์ค/Java] ๋ค์ ํฐ ์ซ์ (1) | 2025.04.16 |
[ํ๋ก๊ทธ๋๋จธ์ค/Java] ์ซ์์ ํํ (0) | 2025.04.16 |