티스토리 뷰

728x90

 

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

 

영어 서수로 표현하기

영어로 서수를 표현할 때 다음과 같이 나타낸다. 1st  2nd  3rd  4th  5th  6th  ... 10th 11th 12th 13th 14th 15th  ...  20th 21st 22nd 23rd 24th 25th  ...  30th 31st 32nd 33rd 34th 35th  ...  40th 41st 42nd 43rd 44th 45th  ...

codeup.kr

 

 

 

문제 설명

주어진 정수를 영어 서수로 변환하는 문제입니다. 예를 들어, 일의 자리가 1은 "1st", 2는 "2nd", 3은 "3rd"로 출력되며, 11, 12, 13은 예외적으로 "th"로 끝납니다.

예시 입력값

1

 

예시 출력 값

1st

 

예시 입력값

 

21

 

예시 출력 값

21st

 

명세

  • 입력: 1부터 23까지의 정수가 주어집니다.
  • 출력: 주어진 숫자의 영어 서수를 출력합니다.
#include <stdio.h>

int main() {
    int n;
    scanf("%d", &n);

    if (n % 100 == 11 || n % 100 == 12 || n % 100 == 13) {
        printf("%dth\n", n);
    } else {
        if (n % 10 == 1)
            printf("%dst\n", n);
        else if (n % 10 == 2)
            printf("%dnd\n", n);
        else if (n % 10 == 3)
            printf("%drd\n", n);
        else
            printf("%dth\n", n);
    }

    return 0;
}

 

문제 해설

숫자의 끝자리와 11, 12, 13에 대한 예외처리를 통해 서수를 변환하는 문제입니다.

문제 푸는 팁

  • 끝자리 1, 2, 3에 맞는 접미사를 주의해서 붙이고, 예외적인 경우인 11, 12, 13을 먼저 처리하는 것이 중요합니다.
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/07   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
글 보관함
250x250