λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°

Study/μ½”ν…Œ

λ°±μ€€ 브둠즈3 2884번: μ•ŒλžŒμ‹œκ³„

2022.01.17
C++

2884번: μ•ŒλžŒ μ‹œκ³„

 

2884번: μ•ŒλžŒ μ‹œκ³„

μƒκ·Όμ΄λŠ” 맀일 μ•„μΉ¨ μ•ŒλžŒμ„ λ“£κ³  μΌμ–΄λ‚œλ‹€. μ•ŒλžŒμ„ λ“£κ³  λ°”λ‘œ μΌμ–΄λ‚˜λ©΄ λ‹€ν–‰μ΄κ² μ§€λ§Œ, 항상 쑰금만 더 μžλ €λŠ” 마음 λ•Œλ¬Έμ— 맀일 학ꡐλ₯Ό μ§€κ°ν•˜κ³  μžˆλ‹€. μƒκ·Όμ΄λŠ” λͺ¨λ“  방법을 λ™μ›ν•΄λ³΄μ•˜μ§€λ§Œ,

www.acmicpc.net

문제

μƒκ·Όμ΄λŠ” 맀일 μ•„μΉ¨ μ•ŒλžŒμ„ λ“£κ³  μΌμ–΄λ‚œλ‹€. μ•ŒλžŒμ„ λ“£κ³  λ°”λ‘œ μΌμ–΄λ‚˜λ©΄ λ‹€ν–‰μ΄κ² μ§€λ§Œ, 항상 쑰금만 더 μžλ €λŠ” 마음 λ•Œλ¬Έμ— 맀일 학ꡐλ₯Ό μ§€κ°ν•˜κ³  μžˆλ‹€.

μƒκ·Όμ΄λŠ” λͺ¨λ“  방법을 λ™μ›ν•΄λ³΄μ•˜μ§€λ§Œ, 쑰금만 더 μžλ €λŠ” λ§ˆμŒμ€ κ·Έ μ–΄λ–€ 것도 없앨 μˆ˜κ°€ μ—†μ—ˆλ‹€.

이런 상근이λ₯Ό λΆˆμŒν•˜κ²Œ 보던, μ°½μ˜μ΄λŠ” μžμ‹ μ΄ μ‚¬μš©ν•˜λŠ” 방법을 μΆ”μ²œν•΄ μ£Όμ—ˆλ‹€.

λ°”λ‘œ "45λΆ„ 일찍 μ•ŒλžŒ μ„€μ •ν•˜κΈ°"이닀.

이 방법은 λ‹¨μˆœν•˜λ‹€. μ›λž˜ μ„€μ •λ˜μ–΄ μžˆλŠ” μ•ŒλžŒμ„ 45λΆ„ μ•žμ„œλŠ” μ‹œκ°„μœΌλ‘œ λ°”κΎΈλŠ” 것이닀. μ–΄μ°¨ν”Ό μ•ŒλžŒ μ†Œλ¦¬λ₯Ό λ“€μœΌλ©΄, μ•ŒλžŒμ„ 끄고 쑰금 더 잘 것이기 λ•Œλ¬Έμ΄λ‹€. 이 방법을 μ‚¬μš©ν•˜λ©΄, 맀일 μ•„μΉ¨ 더 μž€λ‹€λŠ” 기뢄을 λŠλ‚„ 수 있고, 학ꡐ도 μ§€κ°ν•˜μ§€ μ•Šκ²Œ λœλ‹€.

ν˜„μž¬ 상근이가 μ„€μ •ν•œ μ•ŒλžŒ μ‹œκ°μ΄ μ£Όμ–΄μ‘Œμ„ λ•Œ, 창영이의 방법을 μ‚¬μš©ν•œλ‹€λ©΄, 이λ₯Ό μ–Έμ œλ‘œ 고쳐야 ν•˜λŠ”μ§€ κ΅¬ν•˜λŠ” ν”„λ‘œκ·Έλž¨μ„ μž‘μ„±ν•˜μ‹œμ˜€.

μž…λ ₯

첫째 쀄에 두 μ •μˆ˜ H와 M이 주어진닀. (0 ≤ H ≤ 23, 0 ≤ M ≤ 59) 그리고 이것은 ν˜„μž¬ 상근이가 μ„€μ •ν•œ 놓은 μ•ŒλžŒ μ‹œκ°„ Hμ‹œ M뢄을 μ˜λ―Έν•œλ‹€.

μž…λ ₯ μ‹œκ°„μ€ 24μ‹œκ°„ ν‘œν˜„μ„ μ‚¬μš©ν•œλ‹€. 24μ‹œκ°„ ν‘œν˜„μ—μ„œ ν•˜λ£¨μ˜ μ‹œμž‘μ€ 0:0(μžμ •)이고, 끝은 23:59(λ‹€μŒλ‚  μžμ • 1λΆ„ μ „)이닀. μ‹œκ°„μ„ λ‚˜νƒ€λ‚Ό λ•Œ, λΆˆν•„μš”ν•œ 0은 μ‚¬μš©ν•˜μ§€ μ•ŠλŠ”λ‹€.

좜λ ₯

첫째 쀄에 상근이가 창영이의 방법을 μ‚¬μš©ν•  λ•Œ, μ„€μ •ν•΄μ•Ό ν•˜λŠ” μ•ŒλžŒ μ‹œκ°„μ„ 좜λ ₯ν•œλ‹€. (μž…λ ₯κ³Ό 같은 ν˜•νƒœλ‘œ 좜λ ₯ν•˜λ©΄ λœλ‹€.)

예제 μž…λ ₯ 1

10 10

예제 좜λ ₯ 1

9 25

예제 μž…λ ₯ 2

0 30

예제 좜λ ₯ 2

23 45

예제 μž…λ ₯ 3

23 40

예제 좜λ ₯ 3

22 55

μ½”λ“œ

#include <iostream>	// cin, cout을 μ“°κΈ° μœ„ν•΄
using namespace std;	// std 쓰지 μ•ŠκΈ° μœ„ν•΄(예. std::cin)
int main() {
	int H = 0, M = 0;	// H: μ‹œ, M: λΆ„
	cin >> H >> M;	// μ‹œκ°„ μž…λ ₯
	M = M - 45;	// κΈ°μ‘΄ λΆ„μ—μ„œ 45λΆ„ λΊ€ 값을 λ‹€μ‹œ λ„£μ–΄μ€Œ
	if (M < 0) {	// 뢄이 0보닀 μž‘μ„ 경우(즉 -1μ΄ν•˜κ°€ 될 경우)
		M = M + 60;	// 뢄에 60뢄을 λ”ν•΄μ€Œ
		H = H - 1;	// μ‹œλŠ” ν•œμ‹œκ°„ 쀄어듦
		if (H < 0) H = H + 24;	// μ‹œκ°€ 0보닀 μž‘μ„ 경우 24μ‹œκ°„μ„ λ”ν•΄μ€Œ
	}
	cout << H << " " << M << endl;	// μ‹œκ°„ 좜λ ₯
}