1. ๋ฌธ์
์๋ณธ ๋งํฌ : https://school.programmers.co.kr/learn/courses/30/lessons/42842
Leo๊ฐ ๋ณธ ์นดํซ์์ ๊ฐ์ ๊ฒฉ์์ ์ brown, ๋ ธ๋์ ๊ฒฉ์์ ์ yellow๊ฐ ๋งค๊ฐ๋ณ์๋ก ์ฃผ์ด์ง ๋ ์นดํซ์ ๊ฐ๋ก, ์ธ๋ก ํฌ๊ธฐ๋ฅผ ์์๋๋ก ๋ฐฐ์ด์ ๋ด์ return ํ๋๋ก solution ํจ์๋ฅผ ์์ฑํด์ฃผ์ธ์.
๊ฐ์ ๊ฒฉ์์ ์ brown์ 8 ์ด์ 5,000 ์ดํ์ธ ์์ฐ์์
๋๋ค.
๋
ธ๋์ ๊ฒฉ์์ ์ yellow๋ 1 ์ด์ 2,000,000 ์ดํ์ธ ์์ฐ์์
๋๋ค.
์นดํซ์ ๊ฐ๋ก ๊ธธ์ด๋ ์ธ๋ก ๊ธธ์ด์ ๊ฐ๊ฑฐ๋, ์ธ๋ก ๊ธธ์ด๋ณด๋ค ๊น๋๋ค.
2. ์ฝ๋
#include <string>
#include <vector>
using namespace std;
vector<int> solution(int brown, int yellow) {
vector<int> answer;
//์์ ํ์
int sum = brown+yellow;
for(int i=2;i<sum;i++){
if(sum%i!=0) continue;
else
{
if((i-2)*(sum/i-2)==yellow)
{
answer.push_back(sum/i);
answer.push_back(i);
break;
}
else continue;
}
}
return answer;
}
3. ํด์ค
//์์ ํ์
int sum = brown+yellow;
for(int i=2;i<sum;i++){
if(sum%i!=0) continue;
๋จผ์ brown+yellow๋ฅผ ๋ํ๋ฉด ๋ชจ๋ ํ์ผ์ ๊ฐฏ์๋ฅผ ๊ตฌํ ์ ์์ต๋๋ค.
ํ์ผ์ ๊ฐฏ์๋ ๊ฐ๋กx์ธ๋ก์ ๊ฒฝ์ฐ์ ์๋ฅผ ๊ตฌํ ์ ์๊ธฐ์ ๊ตฌํด์ค๋๋ค.
ํ์ผ์ ์ธ๋ก ๊ธธ์ด๋ 1๋ณด๋ค ์ปค์ผํ๊ธฐ์(0์ด๋ 1์ธ ๊ฒฝ์ฐ ๋ ธ๋์ ๊ตฌ์ญ์ด ์๊ธธ ์ ์์) i=2๋ถํฐ for๋ฌธ์ ๋๋ ค์ค๋๋ค.
if(sum%i!=0) : ๋ง์ฝ ๋๋์ด ์ง์ ์๋ ๊ฒฝ์ฐ๋ผ๋ฉด ๊ฐ๋ก ์ธ๋ก๋ฅผ ๊ตฌํ ์ ์๊ธฐ ๋๋ฌธ์ ๊ณ์ฐํ์ง ์๊ณ ๋์ด๊ฐ๋๋ค.
else
{
if((i-2)*(sum/i-2)==yellow)
{
answer.push_back(sum/i);
answer.push_back(i);
break;
}
else continue;
}
}
๋๋์ด์ง๋ ๊ฒฝ์ฐ๋ผ๋ฉด, ํด๋น ๊ฐ๋ก ์ธ๋ก์ ๊ธธ์ด์์ 2์ฉ ๋นผ์ yellow ์์ญ์ ๊ฐฏ์๋ฅผ ๊ตฌํฉ๋๋ค.
๋ง์ฝ yellow ๊ฐฏ์๊ฐ ๋ง๋ค๋ฉด ํด๋น ๊ฐ๋ค์ answer์ ์ ์ฅํด์ค๋๋ค.
'์๊ณ ๋ฆฌ์ฆ > Programmers' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ํ๋ก๊ทธ๋๋จธ์ค] ์ฒด์ก๋ณต (1) | 2023.11.15 |
---|---|
[ํ๋ก๊ทธ๋๋จธ์ค] ๋ชจ์์ฌ์ C++ (0) | 2023.11.07 |
[ํ๋ก๊ทธ๋๋จธ์ค] ์ ๋ ฅ๋ง์ ๋๋ก ๋๋๊ธฐ C++ (0) | 2023.10.30 |
[ํ๋ก๊ทธ๋๋จธ์ค] ํผ๋ก๋ C++ (0) | 2023.10.26 |
[ํ๋ก๊ทธ๋๋จธ์ค] ์์ ์ฐพ๊ธฐ (C++) (0) | 2023.10.23 |