https://school.programmers.co.kr/learn/courses/30/lessons/42842
[ํด๊ฒฐ์ฑ ]
์ข ์ด์ ๊ทธ๋ ค๊ฐ๋ฉฐ ๊ท์น์ ์ฐพ์๋ณด๋ ค๊ณ ํ๋๋ฐ ๊ณ์ ์์ ์ผ๋ก ๋น๋น ๋์์ ํํธ๋ฅผ ๋ดค๋ค.
3x3์ด ๊ฐ์ฅ ์์ ์นดํซ ํฌ๊ธฐ(๊ฐ๋ก>=์ธ๋ก ์ด๋ฏ๋ก)๋ผ๋๊ฑด ๊ตฌํ๋๋ฐ ์นดํซ์ด ๋ชจ์์ด ์ง์ฌ๊ฐํ์ผ ๋, ์ ์ฌ๊ฐํ์ผ ๋๋ก ๋๋ ๊ฐ๋ฉฐ ์ ๊ทผํด์ ๋น๋น ๋์๋๊ฑฐ ๊ฐ๋ค.
1) ๊ฐ์ฅ ์์ ์ธ๋ก์ ๊ธธ์ด๋ 3 ์ด๋ค.
2) ๋ ธ๋์๊ณผ ๊ฐ์ ํฌ๊ธฐ๋ฅผ ๋ชจ๋ ํฉํ ๊ฐ์ด ๋์ด์ด๋ฏ๋ก ๊ฐ๋กx์ธ๋ก ๊ฐ๊ณผ ๊ฐ๋ค.
3) ์ธ๋ก๊ธธ์ด๋ฅผ 3๋ถํฐ 1์ฉ ๋ํ๋ฉฐ ๋ฐ๋ณต๋ฌธ์ ๋๋ฉด์ ๊ฐ๋ก ๊ฐ์ ์ฐพ๋๋ค. '๋ ธ๋์+๊ฐ์ / ์ธ๋ก = ๊ฐ๋ก' ์กฐ๊ฑด์ ๋ง์กฑํ๋ ๊ฐ๋ก
4) ์กฐ๊ฑด์ ๋ง์กฑํ๋ ๊ฐ๋ก๋ฅผ ์ฐพ์๋ค๋ฉด, ๊ฐ์ ํ ๋๋ฆฌ๋ฅผ ์ ์ธํ '(๊ฐ๋ก -2) * (์ธ๋ก-2) = ๋ ธ๋์' ์ ๋ง์กฑํ๋์ง ๋ณธ๋ค.
5) ์ด๊ฒ๊น์ง ๋ง์กฑํ๋ฉด ๊ฐ๋ก ์ธ๋ก๋ฅผ ์ ๊ตฌํ ๊ฒ.
[์์๋ ๊ฒ]
์ ํด์ง ๋ชจ์์ด๋ฉด ๋์ด๋ฅผ ์ฌ์ฉํ๋ ๋ฒ๋ ๊ธฐ์ตํด๋๊ธฐ.
[์ฝ๋]
#include <string>
#include <vector>
using namespace std;
vector<int> solution(int brown, int yellow) {
vector<int> answer;
int sum = brown + yellow; //๊ฐ์ ๋
ธ๋์ ๊ฐ์ ๋ํด์ ๋์ด ๊ตฌํ๊ธฐ
//์ต์ ๋์ด๋ 3๋ถํฐ ์์
for(int height = 3; ; height++){
int width = sum / height;
//๋ฌด์กฐ๊ฑด ๊ฐ์์ธ ๋์ด 2์ค, ๊ฐ๋ก 2์ค์ ์ ์ธํ ๊ฐ์ ๊ณฑํ์ ๋ ๋
ธ๋์ ๊ฐ๊ณผ ๊ฐ์ผ๋ฉด ๊ทธ๊ฒ ์ ๋ต.
if(((height -2)*(width -2))==yellow){
answer.push_back(width);
answer.push_back(height);
break;
}
}
return answer;
}
'๐ Coding Test Study > Algorithm Problem' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[C++][Programmers][DFS/BFS] ํ๊ฒ๋๋ฒ (0) | 2023.05.02 |
---|---|
[C++][Programmers][์์ ํ์] ํผ๋ก๋ (0) | 2023.04.26 |
[C++][Programmers][์์ ํ์] ๋ชจ์๊ณ ์ฌ (0) | 2023.04.21 |
[C++][Programmers][์์ ํ์] ์ต์์ง์ฌ๊ฐํ (0) | 2023.04.21 |
[C++][Programmers][์ ๋ ฌ] H-Index (0) | 2023.04.20 |