반응형
밑의 링크는 CodeUp에서의 문제 링크입니다.
문제는 링크를 통해서 직접 봐주시길 바랍니다.
주의해야 할 점
나이를 구하는 기준 연도는 현재 2021년이 아닌 문제가 만들어진 2012년 기준입니다.
출생년도는 뒤의 두 자리만 출력해야한다는 것을 주의해야합니다.
생각한 풀이 과정
- readline을 사용하기 위해 import 합니다.
- 정수인 113살 이하의 나이를 입력합니다. 정수형으로 변환하고, 변수 age에 넣어줍니다.
- 2012년 기준이므로 2012에서 나이인 age의 값을 빼고 1을 더해 출생년도를 구하고 변수 birth_year에 저장합니다.
- 1900년대 출생인지 2000년대 출생인지를 저장할 변수 year_info를 선언합니다. None으로 초기화합니다.
- 과정 3에서 구한 출생년도가 2000 보다 작다면, 1900년대 출생이므로 year_info에 1을 저장합니다.
- 그 외의 경우, 즉, 과정 3에서 구한 출생년도가 2000 이상이면, 2000년대 출생이므로 year_info에 3을 저장합니다.
- 출생년도는 뒤의 두 자리만 출력해야 하므로, birth_year의 값을 100으로 나눈 나머지를 다시 birth_year에 저장합니다.
- 과정 7에서 구한 출생년도 뒤의 두 자리와 과정 4 ~ 6에서 구한 연도정보를 공백으로 구분해 출력합니다.
제출한 파이썬 코드
# readline을 사용하기 위해 import합니다.
from sys import stdin
# 나이를 입력합니다.
# 113살 이하로만 입력합니다.
# 정수형으로 변환합니다.
age = int(stdin.readline())
# 2012년 기준이므로 2012에서 입력한 나이를 빼고 1을 더해 출생년도를 구하고 변수에 저장합니다.
birth_year = 2012 - age + 1
# 1900년대 출생인지 2000년대 출생인지를 저장할 변수를 선언합니다.
year_info = None
# 출생년도가 2000보다 작다면
if birth_year < 2000:
# 1900년대 출생이므로 year_info에 1을 저장합니다.
year_info = 1
# 그 외의 경우, 즉, 출생년도가 2000 이상이면
else:
# 2000년대 출생이므로 year_info에 3을 저장합니다.
year_info = 3
# 출생년도는 뒤의 두 자리만 출력해야 하므로,
# birth_year의 값을 100으로 나눈 나머지를 다시 birth_year에 저장합니다.
birth_year %= 100
# 출생년도 뒤의 두 자리와 연도정보를 공백으로 구분해 출력합니다.
print(birth_year, year_info)
제출 결과
※ 궁금한 부분, 이상한 점 및 오타는 댓글에 부탁드립니다.
※ 더 효율적이고 빠른 정답을 환영합니다.
반응형
댓글