CodingTest

[파이썬 코딩 도장] 39.7 심사문제: 시간 이터레이터 만들기

nineDeveloper 2020. 12. 17.
728x90

정답

파이썬 코딩 도장 풀이 방법으로 구현한 정답

class TimeIterator:
  def __init__(self, start, stop):
    self.start = start
    self.stop = stop

  def __getitem__(self, index):
    hour = (self.start + index) // 60 // 60 % 24
    min = (self.start + index) // 60 % 60
    sec = (self.start + index) % 60
    if index < self.stop - self.start:
      return '{0:02d}:{1:02d}:{2:02d}'.format(hour, min, sec)
    else:
      raise IndexError

 

time 함수를 활용하여 구현한 정답

import time

class TimeIterator:
  def __init__(self, start, stop):
    self.start = start
    self.stop = stop

  def __getitem__(self, index):
    if index < self.stop - self.start:
      return time.strftime('%H:%M:%S', time.gmtime(self.start + index))
    else:
      raise IndexError
728x90

댓글

💲 추천 글