๋ฌธ์
์ฝ๋
#include <string>
#include <vector>
using namespace std;
struct Coordinate{
int x;
int y;
};
vector<int> solution(int brown, int yellow) {
vector<int> answer;
vector<Coordinate> v;
int x=1; int y = brown+yellow;
while(x<y){
y = (brown+yellow)/x;
if(x*y==brown+yellow)v.push_back({x,y});
x++;
}
for(int i=0; i<v.size(); i++){
int x = v[i].x-2;
int y = v[i].y-2;
if(x*y==yellow){
answer.push_back(y+2);
answer.push_back(x+2);
}
}
return answer;
}
ํ์ด(22๋ถ)
ํฌ๊ฒ ์ด๋ ต์ง ์์ ๋ฌธ์ ์์ต๋๋ค. ์๋ฆฌ๋ง ์ดํดํ๋ฉด ๊ตฌํํ๊ธฐ ์ฌ์ด๋ฐ ์๋์ ์ ์ถ๋ ฅ์ผ๋ก ํ๋ฒ ์ค๋ช ํด ๋ณด๊ฒ ์ต๋๋ค.
brown | yellow | return |
24 | 24 | [8,6] |
์ ์ ์ถ๋ ฅ์์ ๋์ฌ ์ ์๋ ๋ชจ๋ ํฌ๊ธฐ์ ๊ฒฐ๊ณผ๋ ์๋์ ๊ฐ์ต๋๋ค. (๊ฐ๋ก๊ธธ์ด๊ฐ ์ธ๋ก ๊ธธ์ด๋ณด๋ค ๊ฐ๊ฑฐ๋ ํฝ๋๋ค.)
- 48 x 1 (๊ฐ๋ก x ์ธ๋ก)
- 24 x 2 (๊ฐ๋ก x ์ธ๋ก)
- 16 x 3 (๊ฐ๋ก x ์ธ๋ก)
- 12 x 4 (๊ฐ๋ก x ์ธ๋ก)
- 8 x 6 (๊ฐ๋ก x ์ธ๋ก)
๊ทธ๋ฆฌ๊ณ brown๊ฐ์ ๊ฒฝ์ฐ๋ ํ ๋๋ฆฌ์๋ง ์น ํด์ ธ ์๊ธฐ ๋๋ฌธ์ ํ ๋๋ฆฌ๋ฅผ ์ ์ธํ ๋๋จธ์ง๋ ์ ๋ถ yellow๊ฐ ๋์ด์ผ ํ๋ค๊ณ ์ ์ ์์ต๋๋ค. ๋ฐ๋ผ์ yellow์ ๊ฒฝ์ฐ {๊ฐ๋ก-2(์&์๋) x ์ธ๋ก-2(์ข&์ฐ)} = yellow๊ฐ์ ๊ฐ ๋์ด์ผ ํ๋ค๋ ์ฌ์ค์ ์ ์ ์์ต๋๋ค.
๋ฐ๋ผ์ ์์์ ๊ตฌํ 6๊ฐ์ ๊ฒฝ์ฐ ์ค ์ ์์ ๋ง์กฑํ๋ ๊ฒฝ์ฐ๋ฅผ ์ฐพ์์ ๋ฐํํด์ฃผ๋ฉด ์ ๋ต์ ๋๋ค.
'Algorithm ๐ง๐ปโ๐ป > ํ๋ก๊ทธ๋๋จธ์ค(Programmers)' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[c++] ํ๋ก๊ทธ๋๋จธ์ค - ๋ ๋ฐ๋จน๊ธฐ(Level 2) (2) | 2022.04.18 |
---|---|
[c++] ํ๋ก๊ทธ๋๋จธ์ค - ์ต์๊ฐ ๋ง๋ค๊ธฐ(Level 2) (0) | 2022.04.18 |
[c++] ํ๋ก๊ทธ๋๋จธ์ค - ํ๋ณดํค(Level 2) (0) | 2022.04.17 |
[c++] ํ๋ก๊ทธ๋๋จธ์ค - 124 ๋๋ผ์ ์ซ์(Level 2) (0) | 2022.04.14 |
[c++] ํ๋ก๊ทธ๋๋จธ์ค - ๋ฉ๋ด ๋ฆฌ๋ด์ผ(Level 2) (2) | 2022.04.13 |
[c++] ํ๋ก๊ทธ๋๋จธ์ค - ์์ ์ฐพ๊ธฐ(Level 2) (0) | 2022.04.13 |
๋๊ธ