Algorithm/ํญํด99(4๊ธฐ)
99ํด๋ฝ ์ฝํ ์คํฐ๋ 21์ผ์ฐจ TIL : ์์ ํ์(ํ๋ก๊ทธ๋๋จธ์ค - ์นดํซ)
_dear
2024. 11. 18. 09:53

๐ ๋ฌธ์


https://school.programmers.co.kr/learn/courses/30/lessons/42842
ํ๋ก๊ทธ๋๋จธ์ค
SW๊ฐ๋ฐ์๋ฅผ ์ํ ํ๊ฐ, ๊ต์ก, ์ฑ์ฉ๊น์ง Total Solution์ ์ ๊ณตํ๋ ๊ฐ๋ฐ์ ์ฑ์ฅ์ ์ํ ๋ฒ ์ด์ค์บ ํ
programmers.co.kr
๐ก ํ์ด
๊ฐ๋ก: x
์ธ๋ก: y
1. yellow ๊ฐ์: (x-2)*(y-2)
2. brown ๊ฐ์: xy - yellow๊ฐ์ = xy - (x-2)*(y-2) = xy - xy + 2x+ 2y +4 = 2(x+y)+4
์ ํ์ฌํญ
- ๊ฐ์ ๊ฒฉ์์ ์ brown ์ 8<=brown<=5000
=> ๊ฒฉ์์ ์๊ฐ 8์ด์์ด๊ธฐ ๋๋ฌธ์ 3*3 ๋ณด๋ค ํผ, ๋ฐ๋ผ์ 3~5000๊น์ง ์์ ํ์ํ๋ ๋ฐฉ์์ ์ฌ์ฉํ๋ค.
- 1<=yellow<=2,000,000
- ๊ฐ๋ก์นดํซ ๊ธธ์ด x ๋ ์ธ๋ก๊ธธ์ด์ ๊ฐ๊ฑฐ๋ ๊ธธ๋ค.
class Solution {
public int[] solution(int brown, int yellow) {
int[] answer = new int[2];
for(int x=3;x<=5000;x++){
for(int y=3;y<=5000;y++){
if((x-2)*(y-2)==yellow&&2*(x+y)-4==brown){
answer[0] = x;
answer[1] = y;
}
}
}
return answer;
}
}


๐ ์ค๋์ ํ๊ณ
๋๋ฌด ๊ธ๋ฐฉํ์ด์ ๋นํฉ์ค๋ฌ์ ๋ค..
์ฝํ ๋ ์ด๋ฐ ๊ฑฐ๋ง ๋์ค๋ฉด ์ข๊ฒ ์ด์ ใ ใ ใ ..