728x90
반응형
문제풀이 GitHub
https://github.com/Seokii/baekjoon
문제 링크
https://www.acmicpc.net/problem/3226
문제 풀이
n = int(input())
answer = 0
for _ in range(n):
time = input().split()
tmp = []
for i in range(int(time[1])):
tmp.append(int(time[0].replace(":",""))+i)
for i in tmp:
cal = i % 100
if cal // 60 == 1: i += 40
if 700 <= i < 1900: answer += 10
else: answer += 5
print(answer)
시간을 계산해서 통화 요금을 구하는 문제입니다.
통화 시작 시간과 통화 시간을 입력 받아 time 변수에 리스트 원소로 추가했습니다.
임시로 사용할 리스트인 tmp 변수를 선언하고 통화 시간만큼 반복해 ":"를 제거하고 원소로 추가했습니다.
ex) '06:45 30'을 입력하면 tmp리스트에는 645, 646, 647, 648, 649, ... ,674 추가됩니다.
하지만, 660 은 7시를 의미하기 때문에 (60분 -> 1시간) 이러한 처리를 해주는 for문을 작성했습니다.
cal 변수에 i를 100을 나눈 나머지를 선언하고, 60으로 나눈 몫이 1이라면 40을 더해 시간을 맞춰주었습니다. ex) "660 -> 700 -> 7시" , "685 -> 725 -> 7시25분"
이러한 처리를 진행한 후 문제의 조건에 따라 answer변수에 가격을 더해 답을 출력했습니다.
728x90
반응형
댓글