- ์ํฐ๋
- ๋์ ํ๋ก๊ทธ๋๋ฐ
- Python
- C++
- ํธ๋ฆฌ
- nestjs
- ์ฌ๋ผ์ด๋ฉ ์๋์ฐ
- ํ๋ฆฌ์จ๋ณด๋ฉ
- ๋ฐฑ์ค
- ๋นํธ๋งต
- BFS
- DFS
- js
- ์นด์นด์ค ์ฝํ
- DP
- ์ด๋ถํ์
- Union-Find
- golang
- ์นด์นด์ค2021
- ์น๋ฆฐ์ด
- ๋ค์ต์คํธ๋ผ
- ํ๋ก๊ทธ๋๋จธ์ค
- ๋นํธ๋ง์คํน
- ๋ฐฑ์๋ ํ๋ฆฌ์จ๋ณด๋ฉ
- ์์ฝ๋
- LCs
- ์ฌ๊ท
- ์๊ณ ๋ฆฌ์ฆ
- ๊ฐ์ฅ๊ฐ๊น์ด๊ณตํต์กฐ์
- go
- Today
- Total
Hello Ocean! ๐ผ
[C++/ํ๋ก๊ทธ๋๋จธ์ค] ์ถ์ ํธ๋ํฝ ๋ณธ๋ฌธ
๋ฌธ์
https://programmers.co.kr/learn/courses/30/lessons/17676
์ฝ๋ฉํ ์คํธ ์ฐ์ต - [1์ฐจ] ์ถ์ ํธ๋ํฝ
์ ๋ ฅ: [ "2016-09-15 20:59:57.421 0.351s", "2016-09-15 20:59:58.233 1.181s", "2016-09-15 20:59:58.299 0.8s", "2016-09-15 20:59:58.688 1.041s", "2016-09-15 20:59:59.591 1.412s", "2016-09-15 21:00:00.464 1.466s", "2016-09-15 21:00:00.741 1.581s", "2016-09-1
programmers.co.kr
ํ์ด
lines ๋ฐฐ์ด ๊ธธ์ด๊ฐ N์ผ ๋
lines ๋ฐฐ์ด์ N๋ฒ ๋๋ฉด์
2016-09-15 03:10:33.020 0.011s ์ ๊ฐ์ ๋ก๊ทธ ๋ฌธ์์ด์ ์๊ฐ, ๋ถ, ์ด, ms, ์ฒ๋ฆฌ์๊ฐ์ผ๋ก ๋ถ๋ฆฌํ๋ค.
๋ถ๋ฆฌํ ํ์ ์ฒ๋ฆฌ ์ข ๋ฃ์๊ฐ, ์ฒ๋ฆฌ ์์์๊ฐ์ ms๋จ์๋ก ๊ฐ๊ฐ ends, starts์ ์ ์ฅํ๋ค.
์ฒ๋ฆฌ ์ข ๋ฃ์๊ฐ์ ์๊ฐ, ๋ถ, ์ด, ms๋ฅผ ์ด์ฉํด ๋จ์๋ฅผ ๋ณํํ๋ฉด ๋๊ณ ,
์ฒ๋ฆฌ ์์์๊ฐ์ ์ฒ๋ฆฌ ์ข ๋ฃ์๊ฐ - ์ฒ๋ฆฌ์๊ฐ + 1 ์ด๋ค. '
๊ทธ ํ์ N๋ฒ ๋๋ฉด์,
๊ฐ ํ๋ก์ธ์ค์ ์ฒ๋ฆฌ ์ข ๋ฃ์๊ฐ + 1์ด ์ด๋ด์ ์์ํ ๋ค์ ํ๋ก์ธ์ค์ ๊ฐ์(count)๋ฅผ ์ฐพ๋๋ค.
๊ทธ๋์ ์ต์ข ์ ์ผ๋ก count์ ์ต๋๊ฐ์ ์ฐพ์ผ๋ฉด ๋๋ค.
์๊ฐ์ ์กฐ๊ธ์ด๋๋ง ์ค์ด๊ธฐ ์ํด,
ํ์ฌ ํ๋ก์ธ์ค ๋ค์ ๋จ์ ํ๋ก์ธ์ค๊ฐ ํ์ฌ ์์ ์ count ์ต๋๊ฐ๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ผ๋ฉด ๋ฐ๋ก ์ข ๋ฃ๋๊ฒ ํ๋ค.
(๋๋ ค๋ดค์ ํ์ฌ ์ต๋๊ฐ๋ณด๋ค ์ปค์ง ์ผ์ด ์์ผ๋ฏ๋ก)
๋ง๋ณด๋ค ์ฝ๋๋ฅผ ๋ฐ๋ก ๋ณด๋ ๊ฒ์ด ์ดํด๊ฐ ์ฌ์ธ ๊ฒ ๊ฐ๋ค.
์ฝ๋
#include <string>
#include <vector>
using namespace std;
int makeMs(string h, string m, string s, string ms) {
return stoi(h)*3600*1000
+ stoi(m)*60*1000
+ stoi(s)*1000
+ stoi(ms);
}
int solution(vector<string> lines) {
vector<int> starts; vector<int> ends;
for (int i=0;i<lines.size();i++){
string hour = lines[i].substr(11, 2);
string minute = lines[i].substr(14, 2);
string second = lines[i].substr(17, 2);
string ms = lines[i].substr(20, 3);
string processT = lines[i].substr(24);
processT.pop_back();
int processTMs = stof(processT)*1000;
int endT = makeMs(hour, minute, second, ms);
int startT = endT - processTMs + 1;
starts.push_back(startT); ends.push_back(endT);
}
// ๊ฐ ํ๋ก์ธ์ค๋ณ๋ก ์ข
๋ฃ์๊ฐ+1์ด ์ด๋ด์ ๋ช๊ฐ์ ํ๋ก์ธ์ค๊ฐ ๊ฒน์น๋์ง ๊ณ์ฐ
// ์ต๋๊ฐ ์ฐพ๊ธฐ
int answer = 0;
for (int i=0;i<lines.size();i++){
int count = 1;
if (answer >= lines.size()-i) break;
for (int j=i+1;j<lines.size();j++) {
if (starts[j] < ends[i]+1000) count++;
}
if (answer<count) answer=count;
}
return answer;
}
๊ฒฐ๊ณผ
'Algorithm' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ํ๋ก๊ทธ๋๋จธ์ค/C++] ํ ํธ์ง (3) | 2021.12.08 |
---|---|
[ํ๋ก๊ทธ๋๋จธ์ค/C++] [1์ฐจ] ์ ํ๋ฒ์ค (0) | 2021.12.08 |
[๋ฐฑ์ค/C++] 14906. ์ค๋ฌํผ (0) | 2021.11.03 |
[๋ฐฑ์ค/C++] 1013. Contact (0) | 2021.10.26 |
[๋ฐฑ์ค/Python] 7579. ์ฑ (0) | 2021.10.12 |