반응형
밑의 링크는 CodeUp에서의 문제 링크입니다.
문제는 링크를 통해서 직접 봐주시길 바랍니다.
주의해야 할 점
1. 11, 12, 13의 서수
문제 자체에서도 주의해야 할 점으로 보여준 내용입니다.
일의 자리 숫자가 1인 경우에는 뒤에 st, 2인 경우에는 뒤에 nd, 3인 경우에는 뒤에 rd를
붙여서 서수를 만듭니다.
그런데 11, 12, 13의 서수들은 각각 영어로 eleventh, twelfth, thirteenth이므로
11th, 12th, 13th로 표현합니다.
예제 설명
1. 첫 번째 예제
- 입력
2
- 출력
2nd
- 설명
입력한 정수는 2입니다.
2는 일의 자리 숫자가 2이고, 12가 아니므로
2 뒤에 nd를 붙여 '2nd'를 출력합니다.
생각한 풀이 과정
서수 표현들의 규칙을 찾아보면 11, 12, 13을 제외하면
일의 자리 숫자가 1, 2, 3일 때 뒤에 각각 st, nd, rd를 붙이고,
나머지 숫자들은 모두 뒤에 th를 붙여서 표현합니다.
입력한 정수의 일의 자리 숫자를 구하고
일반적인 서수 규칙을 벗어난 11, 12, 13부터 따로 고려하고,
나머지는 일의 자리 숫자가 어떤 숫자인지에 따라 숫자 뒤에 st, nd, rd, th 중
어떤 문자열이 붙는지를 처리했습니다.
제출한 파이썬 코드
# readline을 사용하기 위해 import합니다.
from sys import stdin
# 1 ~ 99 중 한 정수를 입력합니다.
# int형으로 변환합니다.
num = int(stdin.readline())
# 입력한 정수의 일의 자리 숫자를 저장하는 변수를 선언합니다.
ones_place_num = num % 10
# 입력한 정수가 11에서 13이라면
if 11 <= num <= 13:
# 입력한 숫자 뒤에 문자열 'th'를 붙이고 출력합니다.
print(f'{num}th')
# 입력한 숫자의 일의 자리 숫자가 1이라면
elif ones_place_num == 1:
# 입력한 숫자 뒤에 문자열 'st'를 붙이고 출력합니다.
print(f'{num}st')
# 입력한 숫자의 일의 자리 숫자가 2라면
elif ones_place_num == 2:
# 입력한 숫자 뒤에 문자열 'nd'를 붙이고 출력합니다.
print(f'{num}nd')
# 입력한 숫자의 일의 자리 숫자가 3이라면
elif ones_place_num == 3:
# 입력한 숫자 뒤에 문자열 'rd'를 붙이고 출력합니다.
print(f'{num}rd')
# 그 외의 경우에는
else:
# 입력한 숫자 뒤에 문자열 'th'를 붙이고 출력합니다.
print(f'{num}th')
제출 결과
※ 궁금한 부분, 이상한 점 및 오타는 댓글에 부탁드립니다.
※ 더 효율적이고 빠른 정답을 환영합니다.
※ 공감 버튼❤과 구독 버튼도 잊지 말고 꾹 눌러주시면 감사하겠습니다~👍👍
반응형
댓글