Algorithm/ํ•ญํ•ด99(4๊ธฐ)

99ํด๋Ÿฝ ์ฝ”ํ…Œ ์Šคํ„ฐ๋”” 21์ผ์ฐจ TIL : ์™„์ „ํƒ์ƒ‰(ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค - ์นดํŽซ)

_dear 2024. 11. 18. 09:53

 


 

๐Ÿ’ก ํ’€์ด

๊ฐ€๋กœ: 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;
    }
}

 

 

๐Ÿ“Œ ์˜ค๋Š˜์˜ ํšŒ๊ณ 

๋„ˆ๋ฌด ๊ธˆ๋ฐฉํ’€์–ด์„œ ๋‹นํ™ฉ์Šค๋Ÿฌ์› ๋‹ค.. 

์ฝ”ํ…Œ๋„ ์ด๋Ÿฐ ๊ฑฐ๋งŒ ๋‚˜์˜ค๋ฉด ์ข‹๊ฒ ์–ด์š” ใ…Žใ…Žใ…Ž ..