개발도생's Blog
[백준][Java] 15059_Hard choice 본문
[백준] 15059_Hard choice 문제
기내식의 종류는 총 3가지인데, 치킨, 소고기, 파스타다. 하지만 각각의 종류에는 재고가 정해져 있다.
그렇기 때문에 고객들 중에는 원하는 기내식을 못 먹을 수 있다. 원하는 기내식을 먹지 못하는 고객들이 몇 명인지 파악하라는 문제다.
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
/**
* L4_15059
*/
public class Main {
public static void main(String[] args) throws IOException{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
// 첫 째 줄에 재고를 입력
StringTokenizer st = new StringTokenizer(br.readLine(), " ");
// 배열을 이용한 풀이
// int[] arr1 = new int[3]; // 기내식 잔량
// int[] arr2 = new int[3]; // 고객 수요
// for(int i = 0; i < arr1.length; i++){
// arr1[i] = Integer.parseInt(st.nextToken());
// }
// st = new StringTokenizer(br.readLine()," ");
// for(int i = 0; i < arr2.length; i++){
// arr2[i] = Integer.parseInt(st.nextToken());
// }
// int result = 0;
// for(int i = 0; i < arr1.length; i++){
// if(arr2[i] - arr1[i] >= 0){
// result += arr2[i] - arr1[i];
// }
// }
// System.out.println(result);
int C1 = Integer.parseInt(st.nextToken());
int B1 = Integer.parseInt(st.nextToken());
int P1 = Integer.parseInt(st.nextToken());
// 둘 째 줄에 고객 수요 입력
st = new StringTokenizer(br.readLine());
int C2 = Integer.parseInt(st.nextToken());
int B2 = Integer.parseInt(st.nextToken());
int P2 = Integer.parseInt(st.nextToken());
/*
* 고객 수요가 재고 보다 많을 때,
* 고객 수요에서 재고를 빼준 값을 미리 선언해 둔 sum 변수에 더해준다.
*/
int sum = 0;
if(C1 <= C2){
sum += C2 - C1;
}
if(B1 <= B2){
sum += B2 - B1;
}
if(P1 <= P2){
sum += P2 - P1;
}
System.out.println(sum);
}
}
배열을 사용한 방법과 문제 그대로 풀어본 방법이다.
먼저 입력을 받아오기 위해 BufferedReader객체를 사용했다.
이후에는 입력한 값에는 개행을 구분해줘야 해서 StringTokenizer객체를 사용했다.
개행이 구분된 값들은 선언해둔 변수에 저장해주었고,
버퍼로 받아온 값들은 문자 값들이기 때문에 Integer.parseInt() 메서드로 형변환 시켜 저장했다.
그 이후에는 if문 조건식을 사용해 문제를 풀었다.
조건이 성립된다면 sum 변수에 고객 수요(C2, B2, P2) - (C1, B1, P1)의 값을 저장해주고,
변수 sum을 출력해주면 된다.
이전 코드로 제출하고 캡쳐한 후에 배열로 문제를 다시 풀어서 캡처를 하지 못했다.
하지만 둘 다 같은 결과였고, 메모리와 시간 차이가 크게 차이나지 않았다.
여하튼 위와 같은 코드로(배열 포함) 제출했을 때,
맞았습니다!!
'BaekJoon' 카테고리의 다른 글
[백준][Java] 15232_Rectangles (1) | 2022.12.09 |
---|---|
[백준][Java] 15080_Every Second Counts (1) | 2022.12.08 |
[백준][Java] 15051_Máquina de café (0) | 2022.12.06 |
[백준][Java] 15025_Judging Moose (2) | 2022.12.06 |
[백준][Java] 15000_CAPS (2) | 2022.12.05 |
Comments