๐จ ๋ฌธ์
https://www.acmicpc.net/problem/2839
<์์ฝ>
5kg๊ณผ 3kg ์คํ ๋ด๋ค๋ฆฌ๋ฅผ ์ด๋ป๊ฒํ๋ฉด ํจ์จ์ ์ผ๋ก ์ฎ๊ธธ ๊ฒ์ธ๊ฐ!
๐จ ํด๊ฒฐ๋ฐฉ๋ฒ
์ฐ์ ์์๋ฅผ ์ ํ๋ค
- 5kg์ด 3kg๋ณด๋ค ๋ง์ด ์ฎ๊ธธ ์ ์์ผ๋ฏ๋ก ๊ฐ์ฅ ๋จผ์ ๋ถ๋ฅ ๊ธฐ์ค์ผ๋ก ์ก์์ผ ํ๋ค. ๋ฐ๋ผ์ ์
๋ ฅ๋ n ๊ฐ์ 5๋ก ๋๋ ๋๋จธ์ง๊ฐ 0์ด๋ผ๋ฉด ๊ทธ๋ฅ ๊ทธ ๊ฐ์ ์ถ๋ ฅํ๋ฉด ๋จ
- ๋ง์ฝ 5๋ก ๋๋ ์ง์ง ์๋๋ค๋ฉด (์ฌ๊ธฐ์ 3์ผ๋ก ๋๋ ๋๋จธ์ง๊ฐ 0์ธ์ง ํ์ธํ๋ ๊ฒ์ด ์๋ 3์ผ๋ก ํ๋๋ฅผ ๋บ์ ๋ 5๋ก ๋๋ ์ง๋์ง ํ์ธํ๋ ๊ฒ์ด ๋ ์ ์ ๋ด๋ค๋ฆฌ๋ฅผ ์ฎ๊ธธ ์ ์๋ค๋ ๊ฒ์ ์์์ผ ํ๋ค.) n์์ 3์ ๋นผ์ฃผ๊ณ 3kg์ ๋ด๋ค๋ฆฌ ์๋ฅผ ๋ํ๋ผ ๋ณ์++ ํด์ค๋ค.
- ์ด๋ ๊ฒ -3์ ํ๋ค๋ณด๋ฉด ๋ง์ด๋์ค ๊ฐ์ด ๋์ฌ ์ ์๋๋ฐ ์ด๋ 5kg๊ณผ 3kg์ผ๋ก ์ ํํ๊ฒ nkg์ ์ฎ๊ธธ ์ ์๋ ์ํฉ์ด๋ฏ๋ก -1์ ์ถ๋ ฅ
- n์ด 0๋ณด๋ค ํฌ๊ฑฐ๋ ๊ฐ๋ค๋ฉด (3์ผ๋ก ๋บ์ ๋ 5๋ก ๋๋ ์ง๋ ๊ฒฝ์ฐ or 3์ผ๋ก ๋บ์ ๋ 0์ธ ๊ฒฝ์ฐ) ํด๋น ๋ด๋ค๋ฆฌ ๊ฐ์ ์ถ๋ ฅ
๐จ ์ฝ๋
#include <iostream>
using namespace std;
int main() {
int n;
int x = 0, y = 0;
cin >> n;
for(int i=0;;i++)
{
if (n % 5 == 0) {
y = n / 5;
break;
}
if (n % 5 != 0) {
n -= 3;
x += 1;
}
if (n < 0) {
cout << "-1";
break;
}
}
if (n >= 0) {
cout << x + y;
}
return 0;
}