관리 메뉴

솜씨좋은장씨

[BaekJoon] 25815번 : Cat's Age (Python) 본문

Programming/코딩 1일 1문제

[BaekJoon] 25815번 : Cat's Age (Python)

솜씨좋은장씨 2022. 11. 7. 12:05
728x90
반응형

코딩 1일 1문제! 오늘의 문제는 백준의 Cat's Age 입니다.

 

25815번: Cat’s Age

There is only one input line; it contains two integers: y (0 ≤ y ≤ 20), indicating the year part of the cat’s age and m (0 ≤ m ≤ 11), indicating the month part of the cat’s age.

www.acmicpc.net

🧑🏻‍💻 문제 풀이

고양이가 살아온 년수 / 개월수를 입력받으면 

사람의 나이로 환산한 값을 구하는 문제입니다.

사람의 나이로 환산하는 규칙은 아래와 같습니다.

- 고양이가 1년 미만으로 살았을때에는 1개월을 15개월로 환산

- 고양이가 1년 이상 2년 미만으로 살았을때에는 1년을 15년으로 1개월을 9개월로 환산

- 고양이가 2년 이상 살았을 경우에는 첫번째 1년을 15년 / 두번째 1년을 9년 / 1개월을 4개월로 환산

이를 코드로 구현하면

cat_age_year, cat_age_month = 0, 0

- 고양이가 1년 미만으로 살았을때에는 1개월을 15개월로 환산

if year < 1:
    cat_age_month += 15 * month

- 고양이가 1년 이상 2년 미만으로 살았을때에는 1년을 15년으로 1개월을 9개월로 환산

elif 1 <=  year < 2:
    cat_age_year += 15 
    cat_age_month = 9 * month

- 고양이가 2년 이상 살았을 경우에는 첫번째 1년을 15년 / 두번째 1년을 9년 / 1개월을 4개월로 환산

elif year >= 2:
    cat_age_year += 15 + 9

    year -= 2

    cat_age_year += year * 4

    cat_age_month = month * 4

위의 조건으로 계산한 개월수가 12보다 클 경우에는 12보다 큰 수를 년도로 변환하여 계산에 반영합니다.

if cat_age_month > 12:
    cat_age_year += cat_age_month // 12
    cat_age_month = cat_age_month % 12

마지막으로 정답형식으로 문자열을 만들면 끝!

f"{cat_age_year} {cat_age_month}"

전체 코드는 아래를 참고하시면 됩니다.

 

읽어주셔서 감사합니다.

🧑🏻‍💻 코드 ( Solution )

def cats_age(year, month):
    cat_age_year, cat_age_month = 0, 0
    
    if year < 1:
        cat_age_month += 15 * month
    elif 1 <=  year < 2:
        cat_age_year += 15 
        cat_age_month = 9 * month
    elif year >= 2:
        cat_age_year += 15 + 9
        
        year -= 2
        
        cat_age_year += year * 4
        
        cat_age_month = month * 4
        
    if cat_age_month > 12:
        cat_age_year += cat_age_month // 12
        cat_age_month = cat_age_month % 12
        
        
    return f"{cat_age_year} {cat_age_month}"
        
        
        
if __name__ == "__main__":
    year, month = map(int, input().split())
    
    print(cats_age(year=year, month=month))
 

GitHub - SOMJANG/CODINGTEST_PRACTICE: 1일 1문제 since 2020.02.07

1일 1문제 since 2020.02.07. Contribute to SOMJANG/CODINGTEST_PRACTICE development by creating an account on GitHub.

github.com

Comments