※ 글쓴이는 취미로 코딩을 익혀보는 사람이라 정확하지 않은 내용을 담고 있을 수 있다 ※

 

이번에 볼 문제는 백준 25815번 문제인 Cat's Age이다.
문제는 아래 링크를 확인하자.

https://www.acmicpc.net/problem/25815 

 

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

연과 달로 주어지는 입력을 일괄적으로 달(month)을 기준으로 전부 환산하고 답을 달을 기준으로 계산하면 구현을 편하게 할 수 있다.

 

답을 출력할 때는 전체 달 수를 12로 나눈 몫과 나머지를 출력해주자.

 

아래는 제출한 소스코드이다.

#include <iostream>
using namespace std;

int main() {
	ios::sync_with_stdio(0);
	cin.tie(0);

	int x, y; cin >> x >> y;
	int m = x * 12 + y;
	int ans = 0;

	if (m >= 12) ans += 180, m -= 12;
	else {
		ans += 15 * m;
		m = 0;
	}

	if (m >= 12) ans += 108, m -= 12;
	else {
		ans += 9 * m;
		m = 0;
	}

	ans += 4 * m;

	cout << ans / 12 << ' ' << ans % 12;
}
728x90

'BOJ' 카테고리의 다른 글

[BOJ 24390 // C++] 또 전자레인지야?  (0) 2022.12.04
[BOJ 26027 // C++] Disc District  (0) 2022.12.03
[BOJ 14075 // C++] Luhn  (1) 2022.12.03
[BOJ 26026 // C++] Coffee Cup Combo  (0) 2022.12.03
[BOJ 2155 // C++] 삼각형의 최단 경로  (0) 2022.12.03

+ Recent posts