본문 바로가기
C, C++/Problem Solving

[코드업 1153번] 두 수의 대소 비교 해설

by hseoy 2020. 11. 12.
반응형

[문제 내용]

아래 링크로 설명을 대신한다.

https://codeup.kr/problem.php?id=1153

 

두 수의 대소 비교

두 정수가 입력된다.  두 정수의 크기를 비교하여 왼쪽 수가 크면 > 를 출력, 오른쪽 수가 크면 < 를 출력, 같으면 = 을 출력하시오.

codeup.kr

[해답 코드 및 설명]

#include <stdio.h>

int main() {
    int a, b;
    scanf("%d %d", &a, &b);
    printf("%c", a > b ? '>' : (a == b ? '=' : '<'));
    return 0;
}

이 문제는 if-else 문을 사용해도 좋지만 나는 삼항 연산자를 사용해봤다. 먼저 a > b인지 검사하고 만약 참이라면 '>'를 출력한다. 하지만 a > b가 거짓이라면 다시 삼항 연산을 수행한다. a > b가 거짓인 경우는 a == b 이거나 a < b이므로 a == b에 대해서 삼항 연산을 수행해서 참이면 '='를, 아니라면 '<'를 출력하도록 작성했다.

정석적으로 if-else 문을 사용해서 코드를 작성하면 아래와 같이 작성할 수 있을 듯 하다.

#include <stdio.h>

int main()
{
    int a, b;
    scanf("%d %d", &a, &b);
    if (a > b) printf(">");
    else if (a == b) printf("=");
    else printf("<");
    return 0;
}

 

반응형

댓글