Algorithm

[Java] 백준 5543번 상근날드

로춘남 2021. 12. 23. 11:22
728x90

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

 

5543번: 상근날드

입력은 총 다섯 줄이다. 첫째 줄에는 상덕버거, 둘째 줄에는 중덕버거, 셋째 줄에는 하덕버거의 가격이 주어진다. 넷째 줄에는 콜라의 가격, 다섯째 줄에는 사이다의 가격이 주어진다. 모든 가

www.acmicpc.net

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class BJ5543 {
    public static void main(String[] args) throws IOException {

        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

        int buger = 2001;   //범위가 100 ~ 2000 로 최소값을 구하기 위해 초기화
        int beverage = 2001;

        //햄버거
        for (int i = 0; i<3; i++){
            int input = Integer.parseInt(br.readLine());    //입력하는 햄버거값
            if (input < buger) {    //버거의 최소값을 구하는중. 버거 종류가 3개라 i 3개 이하로 for문
                buger = input;
            }
        }

        //음료수
        for(int i = 0; i<2; i++){   //입력하는 음료수값
            int input = Integer.parseInt(br.readLine());    //음료수의 최소값
            if (input < beverage) {
                beverage = input;
            }
        }
        System.out.println(buger + beverage - 50);
    }
}

입출력 문제라 Buffer를 사용하였다. 가격의 범위가 100 ~ 2000으로 명시가 되어 있어서 기본값을 2001로 초기화를 하였고, 이것을 이용하여 최소값을 구하였다.

 

햄버거의 경우 종류가 3개였기에 for문을 3번 돌려서 햄버거 초기값과 입력값(input)을 3번 비교후 가장 작은 값을 buger에 저장하였고,

음료수의 경우도 종류가 2개라 for문을 2번 돌려 가장 작은값을 beverage에 저장하였다.

 

그리고 문제에 명시된것처럼 세트가격은 -50을 해야하기때문에 조건에 맞춰 출력을 해주었음!

728x90

'Algorithm' 카테고리의 다른 글

[Java] 백준 10039번 평균 점수  (0) 2021.12.29
[Java] 백준 5575번 타임 카드  (0) 2021.12.23
[Java] 백준 14928번 큰 수(BIG)  (2) 2021.12.02
[Java] 백준 2420번  (0) 2021.11.04
[Java] 백준 1712번 손익분기점  (0) 2021.11.03