반응형
표준 입력으로 정수 세 개가 입력됩니다(첫 번째 정수는 시작하는 초, 두 번째 정수는 반복을 끝낼 초, 세 번째 정수는 인덱스이며 입력되는 초의 범위는 0~100000, 입력되는 인덱스의 범위는 0~10입니다). 다음 소스 코드에서 시간 값을 생성하는 이터레이터를 만드세요.
- 시간 값은 문자열이고 시:분:초 형식입니다. 만약 숫자가 한 자리일 경우 앞에 0을 붙입니다(예: 12:01:08).
- 1초는 00:00:01입니다. 23:59:59를 넘길 경우 00:00:00부터 다시 시작해야 합니다.
- 시간은 반복을 끝낼 초 직전까지만 출력해야 합니다(반복을 끝낼 초는 포함되지 않음).
문제
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
________________
________________
________________
________________
________________
________________
________________
________________
________________
________________
________________
________________
start, stop, index = map(int, input().split())
for i in TimeIterator(start, stop):
print(i)
print('\n', TimeIterator(start, stop)[index], sep='')
|
cs |
입력
0 3 2
결과
00:00:00
00:00:01
00:00:02
00:00:02
입력
88234 88237 1
결과
00:30:34
00:30:35
00:30:36
00:30:35
답
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
class TimeIterator:
def __init__(self,start,stop):
self.start=start
self.stop=stop
def __getitem__(self,index):
if index < self.stop-self.start:
second=(self.start+index)
second%=60
minute=(self.start+index)//60
minute%=60
hour=(self.start+index)//60//60
hour%=24
return '{0:02d}:{1:02d}:{2:02d}'.format(hour,minute,second)
else:
raise IndexError
|
cs |
반응형
'Python > 코딩도장' 카테고리의 다른 글
코딩도장_파이썬 심사문제 41.7 (사칙연산 코루틴 만들기) (0) | 2020.08.25 |
---|---|
코딩도장_파이썬 심사문제 40.6 (소수 제너레이터 만들기) (0) | 2020.08.24 |
코딩도장_파이썬 심사문제 38.7 (회문 아니면 예외 발생시키기) (0) | 2020.08.23 |
코딩도장_파이썬 심사문제 37.3 (두 점 사이의 거리 구하기) (0) | 2020.08.16 |
코딩도장_파이썬 심사문제 36.9 (다중 상속 사용하기) (0) | 2020.08.16 |
댓글