https://www.acmicpc.net/problem/2839
2839๋ฒ: ์คํ ๋ฐฐ๋ฌ
์๊ทผ์ด๋ ์์ฆ ์คํ๊ณต์ฅ์์ ์คํ์ ๋ฐฐ๋ฌํ๊ณ ์๋ค. ์๊ทผ์ด๋ ์ง๊ธ ์ฌํ๊ฐ๊ฒ์ ์คํ์ ์ ํํ๊ฒ Nํฌ๋ก๊ทธ๋จ์ ๋ฐฐ๋ฌํด์ผ ํ๋ค. ์คํ๊ณต์ฅ์์ ๋ง๋๋ ์คํ์ ๋ด์ง์ ๋ด๊ฒจ์ ธ ์๋ค. ๋ด์ง๋ 3ํฌ๋ก๊ทธ
www.acmicpc.net
1. ๋ฌธ์
์๊ทผ์ด๋ ์์ฆ ์คํ๊ณต์ฅ์์ ์คํ์ ๋ฐฐ๋ฌํ๊ณ ์๋ค. ์๊ทผ์ด๋ ์ง๊ธ ์ฌํ๊ฐ๊ฒ์ ์คํ์ ์ ํํ๊ฒ Nํฌ๋ก๊ทธ๋จ์ ๋ฐฐ๋ฌํด์ผ ํ๋ค. ์คํ๊ณต์ฅ์์ ๋ง๋๋ ์คํ์ ๋ด์ง์ ๋ด๊ฒจ์ ธ ์๋ค. ๋ด์ง๋ 3ํฌ๋ก๊ทธ๋จ ๋ด์ง์ 5ํฌ๋ก๊ทธ๋จ ๋ด์ง๊ฐ ์๋ค.
์๊ทผ์ด๋ ๊ท์ฐฎ๊ธฐ ๋๋ฌธ์, ์ต๋ํ ์ ์ ๋ด์ง๋ฅผ ๋ค๊ณ ๊ฐ๋ ค๊ณ ํ๋ค. ์๋ฅผ ๋ค์ด, 18ํฌ๋ก๊ทธ๋จ ์คํ์ ๋ฐฐ๋ฌํด์ผ ํ ๋, 3ํฌ๋ก๊ทธ๋จ ๋ด์ง 6๊ฐ๋ฅผ ๊ฐ์ ธ๊ฐ๋ ๋์ง๋ง, 5ํฌ๋ก๊ทธ๋จ 3๊ฐ์ 3ํฌ๋ก๊ทธ๋จ 1๊ฐ๋ฅผ ๋ฐฐ๋ฌํ๋ฉด, ๋ ์ ์ ๊ฐ์์ ๋ด์ง๋ฅผ ๋ฐฐ๋ฌํ ์ ์๋ค.
์๊ทผ์ด๊ฐ ์คํ์ ์ ํํ๊ฒ Nํฌ๋ก๊ทธ๋จ ๋ฐฐ๋ฌํด์ผ ํ ๋, ๋ด์ง ๋ช ๊ฐ๋ฅผ ๊ฐ์ ธ๊ฐ๋ฉด ๋๋์ง ๊ทธ ์๋ฅผ ๊ตฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค.
2. ์ ๋ ฅ
์ฒซ์งธ ์ค์ N์ด ์ฃผ์ด์ง๋ค. (3 ≤ N ≤ 5000)
3. ์ถ๋ ฅ
์๊ทผ์ด๊ฐ ๋ฐฐ๋ฌํ๋ ๋ด์ง์ ์ต์ ๊ฐ์๋ฅผ ์ถ๋ ฅํ๋ค. ๋ง์ฝ, ์ ํํ๊ฒ Nํฌ๋ก๊ทธ๋จ์ ๋ง๋ค ์ ์๋ค๋ฉด -1์ ์ถ๋ ฅํ๋ค.
4. ๋ฌธ์ ํ์ด
- input๊ฐ์ N
- N>0 ์ธ๋์ ๋ฐ๋ณต
- N%5==0์ธ์ง ํ์ธ
- N=N-3
- 3์ด ํ๋ ์ถ๊ฐ๋์์ผ๋ count++;
- N์ด ๋ค์ 5๋ก ๋๋์ด์ง๋์ง ํ์ธ
5ํค๋ก๋ก ํฌ์ฅํด์ผ 3ํค๋ก๋ณด๋ค ์ ์ ๋ด์ง ๊ฐ์๋ก ํฌ์ฅ์ด ๊ฐ๋ฅํ๋ค -> 5๋ก ๋๋์ด์ง๋์ง ๋จผ์ ํ์ธ!
-3ํค๋ก ํ๋ฉด์ ํ๋ฒ ๋บ๋๋ง๋ค 3ํค๋ก ๋ด์ง ํ๋์ฉ ์ถ๊ฐ.
N=N-3์ผ๋ก ํ์ ๋ while๋ฌธ ๋ฒ์ด๋ฌ๋๋ฐ N<0์ด๋ฉด 5์ 3์ผ๋ก ๋๋์ด ๋จ์ด์ง์ง ์๋๋ค๋ ์๋ฆฌ => count =-1
C code
#include <math.h>
#include <stdio.h>
int main()
{
int N,count=0;
scanf("%d",&N);
while(N>0){
if(N%5==0){
count+=N/5;
break;
}else{
N=N-3;
count++;
}
}
if(N<0)
count = -1;
printf("%d\n",count);
return 0;
}
6. ๊ฒฐ๊ณผ