728x90
반응형
https://school.programmers.co.kr/learn/courses/30/lessons/92341
#include <string>
#include <vector>
#include <map>
#include <cmath>
using namespace std;
vector<int> solution(vector<int> fees, vector<string> records) {
vector<int> answer;
map<int, int> inCar;
map<int, int> outCar;
for(int i = 0; i < records.size(); i++){
int time = stoi(records[i].substr(0, 3)) * 60 + stoi(records[i].substr(3, 5));
int carNum = stoi(records[i].substr(6, 10));
string inOrOut = records[i].substr(11, 13);
if(inOrOut == "IN"){
inCar[carNum] = time;
} else if(inOrOut == "OUT"){
outCar[carNum] += time - inCar[carNum];
inCar.erase(carNum);
}
}
for (auto iter = inCar.begin() ; iter != inCar.end(); iter++){
outCar[iter->first] += 1439 - iter->second;
}
for(auto iter = outCar.begin() ; iter != outCar.end(); iter++){
if(iter->second <= fees[0]){
answer.push_back(fees[1]);
} else{
answer.push_back(fees[1] + ceil((double)(iter->second - fees[0]) / fees[2]) * fees[3]);
}
}
return answer;
}
나눗셈 할 때 double로 형 변환 안 하고 몇 시간을 헤맸다......
728x90
반응형
'Algorithm > Programmers' 카테고리의 다른 글
[Programmers] 오픈채팅방 (C++) (0) | 2023.03.14 |
---|---|
[Programmers] 두 큐 합 같게 만들기 (C++) (0) | 2023.03.13 |
[Programmers] 괄호 변환 (C++) (0) | 2023.03.07 |
[Programmers] 신고 결과 받기 (C++) (0) | 2023.02.22 |
[Programmers] 성격 유형 검사하기 (C++) (0) | 2023.02.21 |