본문 바로가기
알고리즘/CodeUp PS

[CodeUp][Python] 1169번 : 나이 계산 2

by 빛밤하늘 2021. 8. 23.
반응형

밑의 링크는 CodeUp에서의 문제 링크입니다.

문제는 링크를 통해서 직접 봐주시길 바랍니다.

 

나이 계산 2

출생년도 뒤의 두자리와 연도정보(1이면 1900년대, 3이면 2000년대)를 출력한다. (단, 출생년도 뒤 2자리가 10보다 작을 경우10의자리에 0은 붙이지 않고 출력한다.) 예) 2009년생이라면 9 3 을 출력함. (

codeup.kr

 

 

 

 

 

 

 

 

주의해야 할 점

나이를 구하는 기준 연도는 현재 2021년이 아닌 문제가 만들어진 2012년 기준입니다.

 

 

출생년도는 뒤의 두 자리만 출력해야한다는 것을 주의해야합니다.




생각한 풀이 과정

  1. readline을 사용하기 위해 import 합니다.
  2. 정수인 113살 이하의 나이를 입력합니다. 정수형으로 변환하고, 변수 age에 넣어줍니다.
  3. 2012년 기준이므로 2012에서 나이인 age의 값을 빼고 1을 더해 출생년도를 구하고 변수 birth_year에 저장합니다.
  4. 1900년대 출생인지 2000년대 출생인지를 저장할 변수 year_info를 선언합니다. None으로 초기화합니다.
  5. 과정 3에서 구한 출생년도가 2000 보다 작다면, 1900년대 출생이므로 year_info에 1을 저장합니다.
  6. 그 외의 경우, 즉, 과정 3에서 구한 출생년도가 2000 이상이면, 2000년대 출생이므로 year_info에 3을 저장합니다.
  7. 출생년도는 뒤의 두 자리만 출력해야 하므로, birth_year의 값을 100으로 나눈 나머지를 다시 birth_year에 저장합니다.
  8. 과정 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)

 

 

 

제출 결과

결과

 

 

 

※ 궁금한 부분, 이상한 점 및 오타는 댓글에 부탁드립니다.

※ 더 효율적이고 빠른 정답을 환영합니다.

반응형

댓글