백준 웹사이트 "2480번 - 주사위 세 개" 문제풀이입니다.
언어는 C언어입니다. (제출 언어: C99)
문제
소스 코드
#include <stdio.h>
int main(void){
int A, B, C;
scanf("%d %d %d", &A, &B, &C);
if(A==B && B==C)
printf("%d\n", 10000+A*1000);
else if(A==B) //else if -> B==C는 아님
printf("%d\n", 1000+A*100);
else if(B==C) //else if -> A==B는 아님
printf("%d\n", 1000+B*100);
else if(C==A) //else if -> A==B, B==C는 아님
printf("%d\n", 1000+C*100);
else if(A>B && A>C) //A가 가장 큼
printf("%d\n", A*100);
else if(B>C) //A가 가장 크지 않고, B>C -> B가 가장 큼
printf("%d\n", B*100);
else
printf("%d\n", C*100);
}
문제 풀이
가장 먼저 확인하는 것은 A, B, C가 모두 같은지입니다. A가 B와 같고, B가 C와 같으면 세 숫자가 동일하므로, 이 케이스를 처음으로 확인해봅니다.
Line 9, 11, 13은 두 눈이 같은 경우입니다. 이때, 이 세 가지 경우에 대해서는 A, B, C가 모두 같은 경우는 없다는 것을 잊지 말아야 합니다. 즉, 세 숫자가 모두 같은 경우는 Line 7에서 걸러지므로 Line 9처럼 조건문을 'A==B'로 작성해도 괜찮습니다. Line 11, 13도 마차가지로 'B==C'와 'C==A'만 적습니다.
Line 15, 17, 19는 각각 A가 가장 큰 경우, B가 가장 큰 경우, C가 가장 큰 경우입니다. 나중에 나오는 else if문과 else문은 앞서 나온 조건문들을 부정한다는 것만 기억해주세요!
반응형
'코딩 > 백준 BOJ' 카테고리의 다른 글
[백준/C언어] 15650번 - N과 M (2) (2) | 2022.02.23 |
---|---|
[백준/C언어] 15649번 - N과 M (1) (0) | 2022.02.22 |
[백준/C언어] 2525번 - 오븐 시계 (0) | 2022.02.20 |
[백준/C언어] 18870번 - 좌표 압축 (0) | 2022.02.19 |
[백준/C언어] 10814번 - 나이순 정렬 (0) | 2022.02.18 |