Notice
250x250
Recent Posts
Recent Comments
Link
넘치게 채우기
[LeetCode] 539. Minimum Time Difference 본문
728x90
반응형
leetcode - Minimum Time DIfference
문제 유형 : 정렬, 문자열 처리
문제 난이도 : Medium
문제
Given a list of 24-hour clock time points in "HH:MM" format, return the minimum minutes difference between any two time-points in the list.
"HH:MM"의 형식으로 24시간기준의 시간이 배열로 주어진다.
두 시간의 최소 시간차를 분단위의 정수로 구하시오.
풀이
우선, 모든 시간을 분단위로 변환한다.
그 뒤, 정렬한다.
원형으로 인접한 두 시간의 차이를 구해서 최소값을 업데이트한다.
코드
C++
#pragma GCC optimize("03", "unroll-loops");
static const int __ = [](){
ios_base::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
return 0;
}();
class Solution {
public:
int timeToMins(string time) {
return stoi(time.substr(0, 2)) * 60 + stoi(time.substr(3, 2));
}
int findMinDifference(vector<string>& timePoints) {
vector<int> minutes;
for(const auto &time : timePoints) {
minutes.push_back(timeToMins(time));
}
sort(minutes.begin(), minutes.end());
int minDiff = 1440 + minutes[0] - minutes.back();
for(int i = 1; i < minutes.size(); i++) {
minDiff = min(minDiff, minutes[i] - minutes[i-1]);
}
return minDiff;
}
};
728x90
반응형
'PS > LeetCode' 카테고리의 다른 글
[LeetCode] 179. Largest Number (0) | 2024.09.18 |
---|---|
[LeetCode] 884. Uncommon Words from Two Sentences (0) | 2024.09.17 |
[LeetCode] 1371. Find the Longest Substring Containing Vowels in Even Counts (0) | 2024.09.15 |
[LeetCode] 2419. Longest Subarray With Maximum Bitwise AND (0) | 2024.09.14 |
[LeetCode] 1310. XOR Queries of a Subarray (0) | 2024.09.13 |