๋ฐ์ํ
๋ฌธ์
https://www.acmicpc.net/problem/2839
2839๋ฒ: ์คํ ๋ฐฐ๋ฌ
์๊ทผ์ด๋ ์์ฆ ์คํ๊ณต์ฅ์์ ์คํ์ ๋ฐฐ๋ฌํ๊ณ ์๋ค. ์๊ทผ์ด๋ ์ง๊ธ ์ฌํ๊ฐ๊ฒ์ ์คํ์ ์ ํํ๊ฒ Nํฌ๋ก๊ทธ๋จ์ ๋ฐฐ๋ฌํด์ผ ํ๋ค. ์คํ๊ณต์ฅ์์ ๋ง๋๋ ์คํ์ ๋ด์ง์ ๋ด๊ฒจ์ ธ ์๋ค. ๋ด์ง๋ 3ํฌ๋ก๊ทธ
www.acmicpc.net
ํ์ด
๊ฐ์ฅ ์ ์ ์์ ๋ด์ง๋ก ๋ฐฐ๋ฌํ๊ธฐ ์ํด์๋ 5kg์ ๋ด์ง๋ก ๊ฐ์ ธ๊ฐ ์ ์๋ ๋งํผ ์ต๋ํ ๊ฐ์ ธ๊ฐ์ผ ํ๋ค.
์ฝ๋
import java.io.BufferedReader;
import java.io.InputStreamReader;
public class Main {
public static void main(String[] args) throws Exception{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int n = Integer.parseInt(br.readLine());
int three = 0;
int five = n/5; //5kg์ ๋ด์ง๋ฅผ ์ต๋๋ก ๊ฐ์ ธ๊ฐ์ ๋
while(five>=0) { //5kg์ ๋ด์ง๋ฅผ ํ๋๋ ๊ฐ์ ธ๊ฐ์ง ์์ ๋ ๊น์ง
int rem = n-(five*5); //ํ์ฌ ๋จ์์๋ ์ = 3kg๋ด์ง๋ก ๋งค๊ฟ์ผํ๋ ์
if(rem%3 == 0) { //๋ฌด๊ฒ๊ฐ ๋ฑ ์๋ง๊ฒ ๋จ์ด์ง๋ค๋ฉด
three = rem/3; //ํ์ฌ๊ฐ ๊ฐ์ฅ ์ ์ ์์ ๋ด์ง
break;
}
else five--; //๋๋ ๋จ์ด์ง์ง ์๋๋ค๋ฉด, 5kg์ ๋ด์ง๋ฅผ ํ๋์ฉ ์ค์ฌ์ค
}
if(five == -1 && three == 0) System.out.println("-1"); //๋ฌด๊ฒ๊ฐ ๋ฑ ๋จ์ด์ง์ง ์๋๋ค๋ฉด -1
else System.out.println(three+five);
}
}
๋ฐ์ํ
'๐ ์๊ณ ๋ฆฌ์ฆ > Greedy' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋ฐฑ์ค] 11000๋ฒ ๊ฐ์์ค ๋ฐฐ์ (java) (0) | 2021.08.20 |
---|---|
[์ ์ฌ]1828๋ฒ ๋์ฅ๊ณ (java) (0) | 2021.08.17 |