YunDev

백준 2480번[C] - 상세 풀이 본문

Programming/Baekjoon Program

백준 2480번[C] - 상세 풀이

S준 2024. 1. 10. 13:14

 

 

2480번: 주사위 세개

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

www.acmicpc.net

 


 

#include <stdio.h>

int main() {
    
    int num[3] = {0};
    int max = 0;
    scanf("%d %d %d", &num[0], &num[1], &num[2]);
   
    
    
   
    if(num[0] == num[1] && num[1] == num[2]) {
         printf("%d", 10000+(num[0]*1000));
    }
    else if(num[0] == num[1] || num[0] == num[2]) {
         printf("%d", 1000+(num[0]*100));
    }
    else if(num[1] == num[2]) {
         printf("%d", 1000+(num[1]*100));
    }
   
    else{
        for(int i = 0; i < 3; i++) {
            if(num[i] > max) {
                max = num[i];
            }
        }
        printf("%d", max*100);
    }
    return 0;
}

 

풀이 : 문제의 핵심은 세 개의 주사위 값이 같을 경우, 다를 경우에 따라서 결과값이 달라지는 것입니다. 
세 개의 주사위 값이 전부 다를경우 최댓값을 구해야 하기 때문에 배열을 사용하였습니다. 제가 비교한 조건은
1. 주사위 값이 모두 같은 경우
2. 첫 번째와 두 번째가 같거나 첫 번째와 세 번째가 같은 경우
3.두 번째와 세 번째가 같은 경우
이 경우가 모두 만족하지 않는다면 모두 다른 것이기 때문에 반복문을 돌려 최댓값을 구하여 출력하였습니다.

'Programming > Baekjoon Program' 카테고리의 다른 글

백준 10807번[C] - 상세 풀이  (0) 2024.01.12
백준 27433번[C] - 상세 풀이  (0) 2024.01.11
백준 2525번[C] - 상세 풀이  (0) 2024.01.09
[C]백준 1157번 - 풀이  (1) 2024.01.08
백준 11382번[C] - 풀이  (3) 2024.01.04