가장 적은 수의 봉지로 배달하기 위해서는 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);
}
}