2480번: 주사위 세개
1에서부터 6까지의 눈을 가진 3개의 주사위를 던져서 다음과 같은 규칙에 따라 상금을 받는 게임이 있다. 같은 눈이 3개가 나오면 10,000원+(같은 눈)×1,000원의 상금을 받게 된다. 같은 눈이 2개만 나오는 경우에는 1,000원+(같은 눈)×100원의 상금을 받게 된다. 모두 다른 눈이 나오는 경우에는 (그 중 가장 큰 눈)×100원의 상금을 받게 된다.


#include <stdio.h>
int main()
{
int A, B, C;
scanf("%d%d%d", &A, &B, &C);
if (A == B)
{
if (B == C)
{
A = 10000 + A * 1000;
printf("%d",A);
}
else
{
A = 1000 + A * 100;
printf("%d", A);
}
}
else
{
if (B == C)
{
B = 1000 + B * 100;
printf("%d", B);
}
else if (A == C)
{
A = 1000 + A * 100;
printf("%d", A);
}
else
{
if (A > B && A > C)
{
A *= 100;
printf("%d", A);
}
else if (B > A && B > C)
{
B *= 100;
printf("%d", B);
}
else
{
C *= 100;
printf("%d", C);
}
}
}
}
메모리 (KB) | 시간 (ms) | 코드 길이 (B) |
1112 | 0 | 615 |
📕 오답 노트
#include <stdio.h>
int main()
{
int A, B, C;
scanf("%d%d%d", &A, &B, &C);
if (A == B)
{
if (B == C)
{
A = 10000 + A * 1000;
printf("%d",A);
}
else
{
A = 1000 + A * 100;
printf("%d", A);
}
}
else // (A!=B)
{
if (B == C)
{
B = 1000 + B * 100;
printf("%d", B);
}
else // 모두 다 다름
{
if (A > B && A > C)
{
A *= 100;
printf("%d", A);
}
else if (B > A && B > C)
{
B *= 100;
printf("%d", B);
}
else
{
C *= 100;
printf("%d", C);
}
}
}
}
#include <stdio.h>
int main()
{
int A, B, C;
scanf("%d%d%d", &A, &B, &C);
if (A == B && B == C)
{
int temp = 10000 + A * 1000;
printf("%d", temp);
}
else
{
if (A != B == C && A == B != C && A == C != B)
{
if (A == B)
{
int temp = 1000 + A * 100;
printf("%d", temp);
}
else if (B == C)
{
int temp = 1000 + B * 100;
printf("%d", temp);
}
else
{
int temp = 1000 + C * 100;
printf("%d", temp);
}
}
else
{
if (A > B)
{
if (A > C)
{
printf("%d", A * 100);
}
else
{
printf("%d", C * 100);
}
}
else // (B > A)
{
if (B > C)
{
printf("%d", B * 100);
}
}
}
}
}
틀린 코드
모든 경우를 다 넣은 줄 알았지만…
// ... 위 내용 생략
else // (A!=B)
{
if (B == C)
{
B = 1000 + B * 100;
printf("%d", B);
}
else if (A == C)
{
A = 1000 + A * 100;
printf("%d", A);
}
A != B일 때 A == C인 경우를 넣어주지 않아서였다… 이런 건 그림을 그려보면 훨씬 쉽게 확인할 수 있으니 코드로만 접근하지 않고 그림을 그려보도록 하자!
Uploaded by N2T