๋ฐ์ํ
https://programmers.co.kr/learn/courses/30/lessons/42842
์ฝ๋
class Solution {
public int[] solution(int brown, int red) {
int[] answer = new int[2];
int area = brown + red;
boolean flag = true;
for(int i=2; i<=2000; i++) { // ์ธ๋ก
for(int j=3; j<=2000; j++) { // ๊ฐ๋ก
if((i-2) * (j-2) == red && (i*j) == area) {
answer[0] = j;
answer[1] = i;
flag = false;
break;
}
}
if(!flag) break;
}
return answer;
}
}
ํ์ด
๋ญ๊ฐ ๋์ผํ ๋ฌธ์ ๋ฅผ ํ์ด๋ณธ ๊ฒ ๊ฐ์๋ฐ ๋ญ์ง ๊ธฐ์ต์ด ์๋์ ์ผ๋จ ํ์๋ค.
์ํ์ ๊ท์น์ ์กฐ๊ธ๋ง ์ด์ฉํ๋ฉด ์ฝ๊ฒ ํด๊ฒฐํ ์ ์๋ค.
๊ฐ์ = brown , ๋นจ๊ฐ์ = red ์ด๊ณ , ๊ฐ๋ก ์ธ๋ก ๊ธธ์ด๋ฅผ ๊ตฌํด์ผํ๋๋ฐ
๊ท์น์ ๋ค์๊ณผ ๊ฐ๋ค.
๊ฐ๋ก * ์ธ๋ก = (brown + red) --> i * j = brown + red
๋นจ๊ฐ์ = (๊ฐ๋ก-2) * (์ธ๋ก-2) --> red = (i-2) * (j-2)
์ ๋ ์์์ ๋ง์กฑํ๋ i, j ๊ฐ์ ์ฐพ์ผ๋ฉด ๋๋ค.
i ๊ฐ ๊ณ ์ ์ผ๋ j๊ฐ ๋ ์ปค์ง๋ฏ๋ก, ๋ฌธ์ ์์ ๊ฐ๋ก >= ์ธ๋ก ์ด๋ฏ๋ก, i = ์ธ๋ก , j = ๊ฐ๋ก๊ฐ ๋๋ค.
์ ๋ฌธ์ ์ ๋์ผํ ๋ฌธ์ ๋ ์๋ ํด๋ฆญ.
๋ฐ์ํ
'Algorithm' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋ฐฑ์ค] 1789๋ฒ: ์๋ค์ ํฉ(๊ตฌํ) (0) | 2020.03.04 |
---|---|
[๋ฐฑ์ค] 1764๋ฒ: ๋ฃ๋ณด์ก(๊ตฌํ, ์ ๋ ฌ) - HashSet (0) | 2020.03.04 |
[๋ฐฑ์ค] 13300๋ฒ: ๋ฐฉ ๋ฐฐ์ (๊ตฌํ) (0) | 2020.03.04 |
ํ๋ก๊ทธ๋๋จธ์ค[Java] - K๋ฒ์งธ์(์ ๋ ฌ) (0) | 2020.03.04 |
[Codeforces] 703A: Mishka and Game (0) | 2020.03.04 |
๋๊ธ