본문 바로가기

study/baekJun

[백준5543/자바] 백준5543 상근날드

출처 : https://www.acmicpc.net/problem/5543

 

버거3개 음료2개의 가격을 입력한 후

버거+음료 조합으로 50원 할인한 세트의 가격을 출력하는 문제

 

 

import java.io.*;

public class qn5543{
   public static void main(String[] args) throws IOException{
      BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
      BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
      
      int [] price = new int[5];
      int chpHam = 2000;
      int chpDrink = 2000;
      
      int chpSet=0;
      
      for(int i=0;i<5;i++){
         price[i] = Integer.parseInt(br.readLine());
      }
      
      for(int i=0;i<3;i++){
         if(chpHam>price[i]) chpHam=price[i];
      }
      
//      System.out.print(chpHam+"\n");
      for(int i=3;i<5;i++){
         if(chpDrink>price[i]) chpDrink=price[i];
      }
      
//      System.out.print(chpDrink+"\n");
      
      chpSet = chpHam + chpDrink - 50;
      
      bw.write(String.valueOf(chpSet));
      bw.flush();
      bw.close();
      br.close();
   }
}

일단 가장싼 음료와 버거의 가격을 넣을 변수를 선언했는데 이때 최대가격인 2000으로 한 이유는

if문으로 비교하면서 가장 싼 가격을 골라야하는데

만약 chpHam을 1000으로 하고 입력을(2000,1100,1500)으로 했을 때 

가장 싼 햄버거는 1100원임에도 불구하고 초기값인 1000으로 측정이 된다.

 

그래서 애초부터 최대값2000부터 시작해서

작은걸 점차 찾아가는 방식으로 코드를 적었다.

 

그래서 햄버거, 음료를 골라서 -50을 해주면 

끝!