본문 바로가기

카테고리 없음

[백준 BAEKJOON / 자바 JAVA] 2480번 : 주사위 세개

Q) BAEKJOON / JAVA / 2480 :  주사위 세개

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

 

2480번: 주사위 세개

1에서부터 6까지의 눈을 가진 3개의 주사위를 던져서 다음과 같은 규칙에 따라 상금을 받는 게임이 있다. 같은 눈이 3개가 나오면 10,000원+(같은 눈)×1,000원의 상금을 받게 된다. 같은 눈이 2개만

www.acmicpc.net


※ if 조건문

 - 가장 기본적인 조건문 이며, 조건에 따라 코드의 실행 흐름을 다르게 동작하도록 제어하는 문장입니다.

if(조건문 1) {
	실행문 1;	//조건문 1이 true일 때 실행
}else if(조건문 2) {
	실행문 2;	//조건문 2가 true일 때 실행
}else {
	실행문 3;	//조건문 1과 2가 false일 때 실행
}

 

※ Math.max()

 - 두 값중 큰값 리턴

int MAX = Math.max(5, 10);
		
System.out.println(MAX);	//10 출력

A)

 - [1] Scanner

import java.util.Scanner;

public class Main {
	public static void main(String args[]) {
		
		//스캐너 선언
		Scanner sc = new Scanner(System.in);
		
		//nextInt()활용 정수형으로 저장
		int A = sc.nextInt();
		int B = sc.nextInt();
		int C = sc.nextInt();
		
		//정수형 변수 money 선언
		int money = 0;
		
		//if 조건문 사용
		//1) 세 주사위 모두 같을 시
		if(A == B && A == C) { 						 
			money = 10000 + (A * 1000);
			
		//2) 세 주사위 모두 다를 시
		//   나머지 주사위 들과 비교 하며 가장 큰 주사위 찾기
		}else if((A != B) && (A != C) && (B != C)) {
			if(A > B && A > C) {
				money = A * 100;
			}else if(B > A && B > C) {
				money = B * 100;
			}else if(C > A && C > B) {
				money = C * 100;
			}
		
		//3) 두 주사위 같을 시
		//   비교하며 같은 값 가진 주사위 칮기
		}else {							
			if(A == B && A != C) {
				money = 1000 + (A * 100);
			}else if(A == C && A != B) {
				money = 1000 + (A * 100);
			}else if(B == C && B != A) {
				money = 1000 + (B * 100);
			}
		}
		
		//출력
		System.out.println(money);
		
		//스캐너 종료
		sc.close();
	}
	
}

 

 - [2] BufferedReader + Math.max()

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

public class Main {
	public static void main(String args[]) throws IOException {
		
		//BufferedReader 선언
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		
		//readLine()으로 행 읽어오기
		String str = br.readLine();
		
		//StringTokenizer로 토큰 단위로 분할
		StringTokenizer st = new StringTokenizer(str, " ");
		
		//nextToken()으로  토큰 값 가져오기
		//parseInt()로 정수형으로 변환
		int A = Integer.parseInt(st.nextToken());
		int B = Integer.parseInt(st.nextToken());
		int C = Integer.parseInt(st.nextToken());
		
		//정수형 변수 money 선언
		int money = 0;
		
		//if 조건문 사용
		//1) 세 주사위 모두 같을 시
		if(A == B && A == C) { 						 
			money = 10000 + (A * 1000);
			
		//2) 세 주사위 모두 다를 시
		//   Math.mat()활용 가장 큰 주사위 찾기
		}else if((A != B) && (A != C) && (B != C)) {
			money = Math.max(A, Math.max(B, C)) * 100;
		
		//3) 두 주사위 같을 시
		//   비교하며 같은 값 가진 주사위 칮기
		}else {							
			if(A == B && A != C) {
				money = 1000 + (A * 100);
			}else if(A == C && A != B) {
				money = 1000 + (A * 100);
			}else if(B == C && B != A) {
				money = 1000 + (B * 100);
			}
		}
		
		//출력
		System.out.println(money);
	}
	
}