https://school.programmers.co.kr/learn/courses/30/lessons/92341
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
import math
def solution(fees, records):
inout = {}
arr = []
for i in range(len(records)):
information = records[i].split()
inout[information[1]] = 0
for i in range(len(records)):
information = records[i].split()
Time = int((information[0][0]) + (information[0][1]))*60 + int(information[0][3] + information[0][4])
if information[2] =='IN':
inout[information[1]] = [Time,'IN']
if information[2] =='OUT':
out=[(Time - inout[information[1]][0]), 'OUT']
inout[information[1]] = out
arr.append((information[1],out))
for i in (inout):
if inout[i][1] == 'IN':
inout[i][0]=1439- inout[i][0]
arr.append((i,inout[i]))
# dict를 sort시키는 법
arr.sort()
dic = {}
for i in range(len(arr)):
dic[arr[i][0]] = 0
for i in range(len(arr)):
dic[arr[i][0]] += arr[i][1][0]
arr3 = []
for i in dic:
if dic[i] <= fees[0]:
arr3.append(fees[1])
else:
arr3.append(fees[1]+(math.ceil((dic[i] - fees[0])/fees[2]))*fees[3])
return arr3
'Algorithm > programmers' 카테고리의 다른 글
programmers k진수에서 소수 개수 구하기 (0) | 2022.09.22 |
---|---|
[JS]programmers 크레인 인형뽑기 게임(js) (0) | 2022.09.20 |
[JS]programmers 성격 유형 검사하기 (1) | 2022.09.16 |
programmers 두 큐 합 같게 만들기 (0) | 2022.09.14 |
programmers 나머지가 1이 되는 수 찾기 (1) | 2022.09.13 |
댓글