티스토리 뷰
2018 KAKAO BLIND RECRUITMENT :: 2018 카카오 블라인드 채용 1차 코딩 테스트 :: 셔틀버스
출처 : https://programmers.co.kr/learn/courses/30/lessons/17678#
#include <algorithm>
#include <string>
#include <vector>
using namespace std;
string solution(int n, int t, int m, vector<string> timetable) {
string answer = "";
int arr[2000], ans;
int num = timetable.size();
for (int i = 0; i < num; i++) {
arr[i] = ((((timetable[i].at(0) - '0') * 10) + (timetable[i].at(1) - '0')) * 60)
+ (((timetable[i].at(3) - '0') * 10) + (timetable[i].at(4) - '0'));
}
sort(arr, arr + num);
int bus = 540;
if (num < m) ans = bus + ((n - 1)*t);
else {
if (num == m && n == 1) ans = arr[num - 1] <= bus ? arr[num - 1] - 1 : bus;
else {
int wh = 0; int tmp = 0; int z = n;
while (1) {
if (tmp == m) {
tmp = 0; bus += t;
z--;
if (z > 0 && wh == num) {
ans = 540 + ((n - 1)*t);; break;
}
if (z == 0) {
if (wh == 0) wh += 1;
ans = arr[wh - 1] - 1; break;
}
}
if (arr[wh] <= bus && arr[wh]>0) {
tmp++;wh++;continue;
}
else {
if (z == 1) { ans = bus; break; }
tmp++;
}
}
}
}
if ((ans / 60) < 10) answer += "0"; answer += to_string(ans / 60);
ans %= 60; answer += ":";
if (ans < 10) answer += "0"; answer += to_string(ans);
return answer;
}
'알고리즘 > 기타' 카테고리의 다른 글
[HackerRank] Simple Array Sum (0) | 2018.09.27 |
---|---|
[2018 카카오 블라인드 채용 1차 코딩 테스트] 뉴스 클러스터링 (0) | 2018.08.31 |
[2018 카카오 블라인드 채용 1차 코딩 테스트] 비밀지도 (0) | 2018.08.30 |
[2018 카카오 블라인드 채용 1차 코딩 테스트] 캐시 (0) | 2018.08.30 |
[2018 카카오 블라인드 채용 1차 코딩 테스트] 다트 게임 (0) | 2018.08.30 |
- Total
- Today
- Yesterday
- string
- 17144
- 알고리즘
- 입출력
- 2018 카카오 블라인드 채용
- 시간 복잡도
- boj
- 17779
- 역량 테스트
- hackerrank
- DFS
- 미세먼지 안녕!
- 새로운 게임 2
- 트렌드
- DP
- 삼성
- SWEA
- 백준
- STL
- 17837
- 팁
- SW Expert Academy
- 게리맨더링 2
- 17143
- 17140
- 17142
- scanf
- 이차원 배열과 연산
- 연구소 3
- 2018 KAKAO BLIND RECRUITMENT
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |