Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

파이썬에서 시간 추가하기

<시간/>

접미사 am 또는 pm이 있는 12시간제 시간을 나타내는 문자열이 있고 정수 n도 주어진다고 가정하면 시간에 n분을 추가하고 동일한 형식으로 새 시간을 반환합니다.

따라서 입력이 s ="8:20pm" 및 n =150과 같으면 출력은 10:50pm이 됩니다.

이 문제를 해결하기 위해 다음 단계를 따릅니다.

  • h, m :=s에서 시와 분 부분을 취합니다.

  • h :=h 모드 12

  • 시간 s가 'pm'이면

    • h :=h + 12

  • t :=h * 60 + m + n

  • h :=t/60의 몫, m :=t/60의 나머지

  • h :=h 모드 24

  • 접미사 :=h <12이면 'am', 그렇지 않으면 'pm'

  • h :=h 모드 12

  • h가 0과 같으면

    • 시간 :=12

  • 시간 반환 h:m 접미사

이해를 돕기 위해 다음 구현을 살펴보겠습니다. −

예시

class Solution:
   def solve(self, s, n):
      h, m = map(int, s[:-2].split(':'))
      h %= 12
      if s[-2:] == 'pm':
         h += 12
      t = h * 60 + m + n
      h, m = divmod(t, 60)
      h %= 24
      suffix = 'a' if h < 12 else 'p'
      h %= 12
      if h == 0:
         h = 12
      return "{:02d}:{:02d}{}m".format(h, m, suffix)
ob = Solution()
print(ob.solve("8:20pm", 150))

입력

"8:20pm", 150

출력

10:50pm