
—
—
#include <stdio.h>
int main() {
int a, b, c;
scanf("%d %d %d", &a, &b, &c);
if (a == b && b == c) printf("%d", 10000 + a * 1000);
else if (a == b || a == c) printf("%d", 1000 + a * 100);
else if (b == c) printf("%d", 1000 + b * 100);
else printf("%d", 100*((a>b)?(a>c?a:c):(b>c?b:c)));
return 0;
}
내가 깔쌈하다고 생각한, 그리고 내 수준에서 맞다고 생각한 정답임
—
#include <stdio.h>
int main(void)
{
int a, b, c;
scanf("%d %d %d", &a, &b, &c);
if (a!=b && b!=c && a!=c)
if (a>b && a>c) printf("%d", a*100);
else if (b>a && b>c) printf("%d", b*100);
else printf("%d", c*100);
else if(a==b && b==c) printf("%d", 10000 + (a*1000));
else if(a==b || a==c) printf("%d", 1000 + (a*100));
else if(b==c) printf("%d", 1000 + (b*100));
return 0;
}
ㅎ
줫.나. 드릅게 풀음(당연하게도 맞힘)
코드가 너더분함
왜냐면 삼항연산자가 기억이 안났거덩..
분명 깔끔하게 할 수 있는 연산자가 있었는데! 라고 생각만 하고 쓰진 못했음
그리고 걍 논리 자체도.. 너무 노가다식으로,, ㅋㅋ
삼항 연산자
num1 ? 100 : 200;
이 있다고 하면, num1이 참이면 100반환, 거짓이면 200 반환.
else printf("%d", 100*((a>b)?(a>c?a:c):(b>c?b:c)));
a>b가 참이라면 a>c? a : c 반환, 거짓이면 b>c? b : c 반환.
a>c가 참이라면 a반환, 거짓이라면 c 반환.
b>c가 참이라면 b반환, 거짓이라면 c 반환.
참 쉬운건데, 막상 생각해내기는 어렵다,^^