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
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기