Recent Posts
Notice
No Rules Rules
[1차] 추석 트래픽 (feat. 프로그래머스, 17676번) 본문
728x90
반응형
[1차] 추석 트래픽
https://programmers.co.kr/learn/courses/30/lessons/17676
반응형
// woohyeon.kim
#include <string>
#include <vector>
#include <iostream>
#include <sstream>
#include <cmath>
#include <algorithm>
using namespace std;
vector<string> token_string(const string& text, const char& delim)
{
vector<string> result;
string token;
stringstream ss(text);
while(getline(ss, token, delim))
{
result.push_back(token);
}
return result;
}
int trans_time(const int& hour, const int& min, const int& sec, const int& ms)
{
int ret_value = 0;
ret_value += hour * 3600 * 1000;
ret_value += min * 60 * 1000;
ret_value += sec * 1000;
ret_value += ms;
return ret_value;
}
const bool comp(const pair<int, int>& v1, const pair<int, int>& v2)
{
if(v1.first != v2.first)
return v1.first < v2.first;
return v1.second < v2.second;
}
int solution(vector<string> lines) {
int answer = 0;
// start : 0, end : 1
vector<pair<int, int>> storage;
for(const auto& line : lines)
{
auto tmpl = token_string(line, ' ');
auto time = token_string(tmpl[1], ':');
auto ms = token_string(time[2], '.');
auto T = stod(tmpl[2].erase(tmpl[2].size() - 1)) * 1e3;
auto get_time = trans_time(stoi(time[0]), stoi(time[1]), stoi(ms[0]), stoi(ms[1]));
auto start_time = get_time - T + 1;
if(start_time < 0) start_time = 0;
auto end_time = get_time + 999;
storage.push_back(make_pair(start_time, 0));
storage.push_back(make_pair(end_time, 1));
}
sort(storage.begin(), storage.end()/*, comp*/);
auto tmpl = 0;
for(const auto& item : storage)
{
if(item.second == 0)
++tmpl;
else
--tmpl;
answer = max(answer, tmpl);
}
return answer;
}
// *&)*@*
한시간 넘게 걸린것 같습니다.
머리가 나빠서 문제 자체를 이해하는데 한참 걸렸네요.
comp함수는 sort의 비교를 위한 예입니다만 주석이 가능합니다.
이유는 sort의 인자가 pair면 자동으로 first, second를 비교하기 때문이죠!
728x90
반응형
'생활 > 코테' 카테고리의 다른 글
키패드 누르기 (feat. 프로그래머스, 67256번) (0) | 2022.07.21 |
---|---|
숫자 문자열과 영단어 (feat. 프로그래머스, 81301번) (0) | 2022.07.21 |
다리 놓기 (feat. 백준, 1010번) (0) | 2022.07.21 |
카드 구매하기 (feat. 백준, 11052번) (0) | 2022.07.20 |
이친수 (feat. 백준, 2193번) (0) | 2022.07.20 |
Comments