반응형
문제
풀이
package solved2;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Main {
public static void main(String[] args) throws IOException{
//설탕 배달
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int n = Integer.parseInt(br.readLine());//설탕의 무게
int min1 = 0;//봉지의 최소개수
while(true) {
if(n % 5 == 0) {
// 5로 나눠지는 경우
min1 += n / 5;
System.out.println(min1);
break;
}else{
// 5로 나눠지지 않으면 -3
n -= 3;
min1++;
}
if(n < 0){
//n이 음수가 되면 -1
System.out.println(-1);
break;
}
}
br.close();
}
}
팁
더 적은 개수의 봉지를 배달하기 위해1. 5로 나눠지는 경우에는 5로 나눈 몫을 바로 출력한다.
if(n % 5 == 0) {
// 5로 나눠지는 경우
min1 += n / 5;
System.out.println(min1);
break;
}
2. 5로 나눠지지 않는 경우에는 3씩 빼서 0이 되면 출력한다.
}else{
// 5로 나눠지지 않으면 -3
n -= 3;
min1++;
}
3. 3씩 뺐을 때, 음수가 나온다면(정확하게 n킬로그램을 만들 수 없을 때) -1을 출력한다.
if(n < 0){
//n이 음수가 되면 -1
System.out.println(-1);
break;
}
출처
반응형
'알고리즘 > Java' 카테고리의 다른 글
[백준] 11047.동전 0(Java8) (0) | 2021.10.04 |
---|---|
[백준] 11399.ATM(Java8) (0) | 2021.10.04 |
[백준] 2775.부녀회장이 될테야(Java8) (0) | 2021.09.24 |
[백준] 2231.분해합(Java8) (0) | 2021.09.21 |
[백준] 1259.팰린드롬수(Java8) (0) | 2021.09.21 |