Algorithm/λ¬Έμ œν’€μ΄

[λ°±μ€€] 2884번 - μ•ŒλžŒ μ‹œκ³„ (python)

moaoh 2021. 9. 13. 13:26
 

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


풀이과정

1μ‹œκ°„μ€ 60λΆ„μœΌλ‘œ ν‘œν˜„ν•  수 μžˆμœΌλ‹ˆ

h * 60 ν˜•μ‹μœΌλ‘œ μ‹œκ°„μ„ λͺ¨λ‘ λΆ„μœΌλ‘œ λ°”κΎΈκ²Œ μ½”λ“œλ₯Ό 짜게되면 쑰금 더 κ°„νŽΈν•˜κ²Œ 해결이 κ°€λŠ₯ν•˜λ‹€.


code

h, m = map(int, input().split())

only_m = h * 60 + m - 45

if only_m < 0:
	only_m += 24 * 60
print(only_m // 60, only_m % 60)

ν›„κΈ°μ“°

μ•Œκ³ λ¦¬μ¦˜μ„ μ΄ˆκΈ°μ— ν’€μ—ˆμ„λ•Œμ—λŠ” μ‹œκ°„μ„ λΆ„μœΌλ‘œ λ°”κΏ”μ„œ κ³„μ‚°ν•œλ‹€λΌλŠ” μ €λŸ° 생각도 ν•˜μ§€λͺ»ν–ˆλ˜κ±°κ°™μ€λ°

μ§€κΈˆμ€ λ­”κ°€ μžμ—°μŠ€λŸ½κ²Œ μ €λŸ°μƒκ°μ΄ λ– μ˜€λ₯΄κ²Œ λ˜λ‹ˆ μ‹ κΈ°ν•˜κΈ°λ„ ν•˜κ³  μƒˆλ‘­κΈ°λ„ν•˜λ„€μš”.