๐ [๋ฐฑ์ค์๊ณ ๋ฆฌ์ฆ ํ์ด] Q.2839 ์คํ๊ณต์ฅ ๋ฌธ์ ํ์ด
๐ ๋ฌธ์
https://www.acmicpc.net/problem/2839
์๊ทผ์ด๋ ์์ฆ ์คํ๊ณต์ฅ์์ ์คํ์ ๋ฐฐ๋ฌํ๊ณ ์๋ค. ์๊ทผ์ด๋ ์ง๊ธ ์ฌํ๊ฐ๊ฒ์ ์คํ์ ์ ํํ๊ฒ Nํฌ๋ก๊ทธ๋จ์ ๋ฐฐ๋ฌํด์ผ ํ๋ค.
์คํ๊ณต์ฅ์์ ๋ง๋๋ ์คํ์ ๋ด์ง์ ๋ด๊ฒจ์ ธ ์๋ค. ๋ด์ง๋ 3ํฌ๋ก๊ทธ๋จ ๋ด์ง์ 5ํฌ๋ก๊ทธ๋จ ๋ด์ง๊ฐ ์๋ค.
์๊ทผ์ด๋ ๊ท์ฐฎ๊ธฐ ๋๋ฌธ์, ์ต๋ํ ์ ์ ๋ด์ง๋ฅผ ๋ค๊ณ ๊ฐ๋ ค๊ณ ํ๋ค. ์๋ฅผ ๋ค์ด, 18ํฌ๋ก๊ทธ๋จ ์คํ์ ๋ฐฐ๋ฌํด์ผ ํ ๋,
3ํฌ๋ก๊ทธ๋จ ๋ด์ง 6๊ฐ๋ฅผ ๊ฐ์ ธ๊ฐ๋ ๋์ง๋ง, 5ํฌ๋ก๊ทธ๋จ 3๊ฐ์ 3ํฌ๋ก๊ทธ๋จ 1๊ฐ๋ฅผ ๋ฐฐ๋ฌํ๋ฉด, ๋ ์ ์ ๊ฐ์์ ๋ด์ง๋ฅผ ๋ฐฐ๋ฌํ ์ ์๋ค.
์๊ทผ์ด๊ฐ ์คํ์ ์ ํํ๊ฒ Nํฌ๋ก๊ทธ๋จ ๋ฐฐ๋ฌํด์ผ ํ ๋, ๋ด์ง ๋ช ๊ฐ๋ฅผ ๊ฐ์ ธ๊ฐ๋ฉด ๋๋์ง ๊ทธ ์๋ฅผ ๊ตฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค.
๐ ์ ๊ทผ๋ฒ
BOJ Q.2839 ์คํ๊ณต์ฅ ๋ฌธ์ ์
๋๋ค.
์ค์ง 3kg ๋ด์ง์ 5kg ๋ด์ง๋ง ์์ต๋๋ค.
์ด 3kg ๋ด์ง์ 5kg์ ๋ด์ง๋ฅผ ์ด์ฉํด ์ต๋ํ
์ ์ ๊ฐ์์ ๋ด์ง๋ก ๋ฐฐ๋ฌํ๋ ค ํฉ๋๋ค.
์ต๋ํ ์ ์ ๋ด์ง ์๋ก ๋ฐฐ๋ฌํ๊ธฐ ์ํด์๋
5kg ๋ด์ง๋ก ๋ด์ ์ ์๋ ๋งํผ ์ต๋ํ ๋ง์ด ๋ด์์ผ ํฉ๋๋ค.
๊ทธ๋ฌ๋ฏ๋ก 5kg ๋ด์ง๋ก ๋ด์ ์ ์์ ๋๊น์ง
3kg์ง๋ฆฌ๋ก ๋ด๊ณ ๋๋จธ์ง๋ ๋ชจ๋ 5kg ๋ด์ง๋ก ๋ด์ผ๋ฉด ๋ฉ๋๋ค.
๐ป ์ฝ๋
package problem.greedy;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Main_2839 {
static int N;
public static void main(String[] args) throws IOException {
input();
int result = solve();
System.out.println(result);
}
public static int solve(){
int sugar = N;
int num = 0;
while(sugar>0){
if(sugar%5 == 0){
num += sugar/5;
sugar %= 5;
}
else{
sugar-=3;
num++;
}
}
if(sugar<0){
return -1;
}
return num;
}
public static void input() throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
N = Integer.parseInt(br.readLine());
br.close();
}
}