반응형
5의 배수인 경우, 5킬로 봉지로 구성
3의 배수인 경우, 3킬로 봉지로 구성하고
5와 3의 배수가 아닌경우엔,
큰수인 5킬로 봉지, 3킬로 봉지 순으로 챙기고
줄여가다가 남은킬로수가 3보다 작게되면 -1을 반환한다.
import java.io.ByteArrayInputStream;
import java.io.InputStream;
import java.util.Scanner;
class Sugar {
int N;
int count=0;
void scan_input(String inputed){
InputStream in = new ByteArrayInputStream(inputed.getBytes());
System.setIn(in);
}
void scan(){
Scanner scan = new Scanner(System.in);
N = scan.nextInt();
scan.close();
}
void process(){
while(N>0){
if(N % 5 == 0){
N = N - 5;
count++;
}else if(N % 3 == 0) {
N = N - 3;
count++;
}else{
if(N>=5){
N = N-5;
count++;
}else if(N>=3){
N = N-3;
count++;
}else{
N = 0;
count = -1;
}
}
}
System.out.println(count);
}
}
public class Main {
public static void main(String[] args) {
Sugar s = new Sugar();
s.scan();
s.process();
}
}
import org.junit.jupiter.api.Test;
class MainTest {
@Test
void Test1(){
Sugar s = new Sugar();
s.scan_input("18");
s.scan();
s.process();
}
@Test
void Test2(){
Sugar s = new Sugar();
s.scan_input("4");
s.scan();
s.process();
}
@Test
void Test3(){
Sugar s = new Sugar();
s.scan_input("6");
s.scan();
s.process();
}
@Test
void Test4(){
Sugar s = new Sugar();
s.scan_input("9");
s.scan();
s.process();
}
@Test
void Test5(){
Sugar s = new Sugar();
s.scan_input("11");
s.scan();
s.process();
}
@Test
void Test6(){
Sugar s = new Sugar();
s.scan_input("12");
s.scan();
s.process();
}
}
반응형
'Coding Test' 카테고리의 다른 글
백준 1026번 : 보물 (0) | 2021.10.27 |
---|---|
백준 1946번 : 신입사원 (0) | 2021.10.26 |
백준 2217번 : 로프 (시간초과 해결과정) (0) | 2021.10.25 |
백준 19941번 : 햄버거 분배 (0) | 2021.10.21 |
백준 9009번 : 피보나치 (0) | 2021.10.20 |