상세 컨텐츠

본문 제목

< 백준 BaekJoon : 2480번 주사위 세개 > C++

C++/Baekjoon

by J2on 2022. 7. 13. 00:38

본문

<<문제>>

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

 

2480번: 주사위 세개

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

www.acmicpc.net

 BaekJoon_2480 : 주사위 세개
  input = 숫자 3개(주사위 눈)
  1. 같은 눈 3개 10000 + (같은눈 * 1000)
  2. 같은 눈 2개 1000 + (같은눈 * 100)
  3. 모두 다른 눈 (가장큰 눈 * 100)

 

<<풀이>>

4단계로 나누었습니다.

1. 3개가 같을때

2. 1 == 2 or 1 == 3일 때

3. 2 == 3일 때

4. 모두 다를 때

 

머리가 나빠서 그런가 더 좋은 방법이 생각나지 않네요.

 

<<코드>>

#include<stdio.h>

/* 
  BaekJoon_2480 : 주사위 세개
  input = 숫자 3개(주사위 눈)
  1. 같은 눈 3개 10000 + (같은눈 * 1000)
  2. 같은 눈 2개 1000 + (같은눈 * 100)
  3. 모두 다른 눈 (가장큰 눈 * 100)
*/

int main(){
  int diceNum[3];
  scanf("%d %d %d", &diceNum[0], &diceNum[1], &diceNum[2]);
  if(diceNum[0] == diceNum[1] && diceNum[1] == diceNum[2]){
    printf("%d", 10000 + (diceNum[0] * 1000));
  }
  else if(diceNum[0] == diceNum[1] || diceNum[0] == diceNum[2]){
    printf("%d", 1000 + (diceNum[0] * 100));
  }
  else if(diceNum[1] == diceNum[2]){
    printf("%d", 1000 + (diceNum[1] * 100));
  }
  else{
    // max 변수에 가장 큰 눈 숫자를 넣기
    int max = 0;
    for (int num:diceNum){
      if(num > max){
        max = num;
      }
    }
    printf("%d", max * 100);
  }
  return 0;
}

<<깃헙>>

https://github.com/J2on/BaekjoonOnlineJudge/blob/master/V2/BaekJoon_2480.cpp

 

GitHub - J2on/BaekjoonOnlineJudge: My Study

My Study. Contribute to J2on/BaekjoonOnlineJudge development by creating an account on GitHub.

github.com

관련글 더보기

댓글 영역