728x90
- 시간대의 차가 가장 작은 시간 차이를 분 단위로 반환
(입력)
["00:12", "00:00", "01:05", "00:57"]
["00:00", "23:59", "00:00"]
["23:59", "00:00", "23:57"]
(출력)
# ArrayList, Collections.sort, Math.min 사용
import java.util.ArrayList;
import java.util.Collections;
public class Main {
private int solution(String[] times) {
int result = Integer.MAX_VALUE;
ArrayList<Integer> tmp = new ArrayList<>();
for(int i=0; i<times.length; i++) {
int time = Integer.parseInt(times[i].split(":")[0])*60 + Integer.parseInt(times[i].split(":")[1]);
tmp.add(time);
}
Collections.sort(tmp);
for(int i=1; i<tmp.size(); i++) {
result = Math.min(result, tmp.get(i)-tmp.get(i-1));
}
result = Math.min(result, 60*24 + tmp.get(0) - tmp.get(tmp.size()-1));
return result;
}
public static void main(String[] args) {
Main T = new Main();
String[] s = new String[]{"00:12", "00:00", "01:05", "00:57"};
String[] s2 = new String[]{"00:00", "23:59", "00:00"};
String[] s3 = new String[]{"23:59", "00:00", "23:57"};
System.out.println(T.solution(s)); // 8
System.out.println(T.solution(s2)); // 0
System.out.println(T.solution(s3)); // 1
}
}
- Collections.sort(list) : 오름차순으로 정렬 (숫자 - 대문자 - 소문자 - 한글 순서로 정렬)
- Collections.reverse(list) : 내림차순으로 정렬 (한글 - 소문자 - 대문자 - 숫자 순서로 정렬)
# 휴..
- Collections.sort 로 정렬해서 앞뒤 비교하고 맨앞과 맨뒤를 비교하면 됐다.
반응형
'전.java' 카테고리의 다른 글
[Java] 제곱수 정렬 (0) | 2023.01.31 |
---|---|
[Java] 공부시간 (0) | 2023.01.31 |
[Java] 공통 문자 찾기 (0) | 2023.01.31 |
[Java] 음성인식 (0) | 2023.01.30 |
[Java] 팰린드롬 길이 (0) | 2023.01.30 |