본문 바로가기
프로그래밍/백준 알고리즘 코드

백준 5543번 Java 상근날드 3항 연산자로

by 졸린이 2020. 8. 19.
반응형

백준 5543번 Java 상근날드 3항 연산자로


이 문제는 햄버거3종류 중 가격 가장 싼 것, 음료수 2개 중 가장 싼 것 하나를 조합해 50원 할인 후 가장 싼 세트 가격을 출력하는 것이다.

배열로 선언하고 for문으로 입력하거나 if문으로 비교 후 낮은 값을 찾을 수도 있지만 나는 변수가 많지 않아 그냥 일일이 선언하였고 if문 대신 3항 연산자로 풀었다.

 

3항 연산자는 예를 들어 a < b? a : b; 이렇게 사용할 수 있다.

 

a<b 가 참일 경우 즉 a가 더 작은 값일 경우 a<b ? a : b에서? 뒤에 있는 값(a)이 선택되고 식이 거짓일 경우 즉 b가 더 작은 값이면 : 뒤에 있는 값(b)이 선택된다.

 

코드로 보자.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
import java.util.Scanner;
 
//baekjoon_5543
/*
*/
public class Main{
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        
        int sd, jd, hd;
        int coke, soda;
        sd = sc.nextInt();
        jd = sc.nextInt();
        hd = sc.nextInt();
        coke = sc.nextInt();
        soda = sc.nextInt();
        
        int set = sd < jd ? sd : jd;
        set = set < hd ? set : hd;
        set += coke < soda ? coke : soda;
        
        System.out.println(set-50);
    }
}
cs

line10~16 : 상덕, 중덕, 하덕, 콜라, 사이다 변수 선언 후 scanner로 가격을 입력해 준다.

 

line18 : set 변수에 sd, jd를 비교해서 더 싼 것을 저장해 준다.

 

line19 : sd, jd 중 싼 값과 hd를 비교해 가장 싼 값이 set에 저장되게 한다.

 

line20 : 이제 set에 콜라, 사이다 중 더 싼 값을 찾아 더해주면 된다. 그러므로 set += 로 더 싼값을 더해준다.

 

line22 : 세트메뉴는 50원 할인이 들어가니 최종 값에 -50을 해주어 출력해준다.

 

끝입니당.

반응형

댓글