시간 클래스
현재 시각을 저장하고 주어진 분만큼 시간을 증가시키는 Time 클래스를 작성하시오.
작성할 클래스
다음 형태의 클래스를 작성한다.
class Time:
def __init__(self, hour, minute):
# 코드를 작성하세요.
def addMinutes(self, minutes):
# 코드를 작성하세요.
def getTime(self):
# 코드를 작성하세요.
- 생성자
__init__(hour, minute)은 현재 시와 분을 저장한다. addMinutes(minutes)는 현재 시각에minutes분을 더한다. 24시간을 넘으면 다음 날 시각으로 순환하며 값을 반환하지 않는다.getTime()은 현재 시각을(hour, minute)형태의tuple로 반환한다.
클래스를 사용하는 코드
작성한 클래스는 아래 코드와 함께 실행된다.
hour, minute = map(int, input().split())
q = int(input())
clock = Time(hour, minute)
for _ in range(q):
command = input().split()
if command[0] == "add":
result = clock.addMinutes(int(command[1]))
print(type(result))
else:
result = clock.getTime()
print(*result)
print(type(result))
위 코드가 정상적으로 동작하도록 클래스를 작성한다. 제출할 때는 작성한 클래스의 정의 전체만 제출한다. 입력을 받거나 객체를 생성하는 코드는 제출하지 않는다.
입력
첫째 줄에 초기 시각 hour, minute이 주어진다.
둘째 줄에 명령의 개수 \(Q\)가 주어진다.
다음 \(Q\)개의 줄에 다음 명령 중 하나가 주어진다.
add minutes:addMinutes(minutes)를 호출한다.time:getTime()을 호출한다.\(0 \le hour \le 23\)
- \(0 \le minute \le 59\)
- \(1 \le Q \le 1,000\)
- \(0 \le minutes \le 1,000,000,000\)
출력
각 add 명령에서는 addMinutes()가 반환한 값의 자료형을 출력한다.
각 time 명령에서는 현재 시와 분, getTime()이 반환한 값의 자료형을 출력한다.
각 메서드를 호출한 뒤에는 반환값의 자료형도 출력한다.
예제 입력 1
23 50
7
time
add 20
time
add 1440
time
add 2885
time
예제 출력 1
23 50
<class 'tuple'>
<class 'NoneType'>
0 10
<class 'tuple'>
<class 'NoneType'>
0 10
<class 'tuple'>
<class 'NoneType'>
0 15
<class 'tuple'>
예제 설명 1
처음 시각은 23 50이다.
- 첫 번째
time은(23, 50)을 반환한다. add 20을 적용하면 자정을 지나 다음 날0 10이 된다.add 1440은 정확히 하루를 더하므로 시각은0 10으로 유지된다.add 2885는 이틀과 5분을 더하는 것과 같으므로 마지막 시각은0 15가 된다.
예제 입력 2
0 0
3
time
add 0
time
예제 출력 2
0 0
<class 'tuple'>
<class 'NoneType'>
0 0
<class 'tuple'>
코멘트