[λ°±μ€€/python] 2884번 : μ•ŒλžŒ μ‹œκ³„

2021. 3. 9. 11:52

문제

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

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

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

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

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

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

 

μž…λ ₯

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

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

 

좜λ ₯

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

 

μ •λ‹΅

a, b = input().split()
h = int(a)
m = int(b)

if (m < 45) :
  h = (h-1)%24
m = (m-45)%60

print(h, m)

μž…λ ₯ν•œ m뢄이 45뢄보닀 적으면 hμ‹œμ˜ 값도 λ³€ν•΄μ•Όν•œλ‹€.

h의 값은 0일 κ°€λŠ₯성도 있기 λ•Œλ¬Έμ— λ‹¨μˆœνžˆ h-1둜 ν•΄κ²°ν•  수 μ—†λ‹€. 

이λ₯Ό κ°„λ‹¨ν•˜κ²Œ ν‘œν˜„ν•˜κΈ° μœ„ν•΄ λͺ¨λ“ˆλŸ¬ 연산이 μ‚¬μš©λœλ‹€.

 

λͺ¨λ“ˆλŸ¬ μ—°μ‚°μ΄λž€ 

ν‰μ†Œμ— 자주 μ‚¬μš©ν•˜λ˜ λ‚˜λ¨Έμ§€λ₯Ό κ΅¬ν•˜λŠ” μ—°μ‚°μœΌλ‘œ, %의 ν˜•νƒœλ‘œ μ‚¬μš©λœλ‹€.

λͺ¨λ“ˆλŸ¬ 연산은 음수의 κ²½μš°μ—λ„ κ°€λŠ₯ν•˜λ‹€.

 

음수λ₯Ό modν•  경우, μ–‘μˆ˜λΌ μƒκ°ν•˜κ³  modν•œ λ’€ λ‹€μ‹œ 음수 처리 ν›„ λ‚˜λˆˆ 값을 더해주면 λœλ‹€.

예λ₯Ό λ“€μ–΄ -1 mod 24의 경우 1 mod 24의 κ°’ 1을 -1둜 λ‹€μ‹œ 음수 처리 ν›„ λ‚˜λˆˆ κ°’ 24λ₯Ό 더해쀀닀.

-1 mod 24 = -1 + 24 = 23

 

이λ₯Ό μ΄μš©ν•˜μ—¬ hκ°’κ³Ό m값을 μ‰½κ²Œ ꡬ할 수 μžˆλ‹€. 

 

hκ°€ 0일 경우, h = (h-1) % 24 λ₯Ό κ³„μ‚°ν•˜λ©΄ -1 % 24 = 23

m이 30일 경우, m = (m-45) % 60 을 κ³„μ‚°ν•˜λ©΄ -15 % 60 = 45 

728x90

BELATED ARTICLES

more