백준 2852 java : 구현

magicdrill·2025년 6월 12일
0

백준 문제풀이

목록 보기
618/655

백준 2852 java : 구현

import java.util.Scanner;

public class bj2852 {
    static Scanner sc = new Scanner(System.in);
    static int N;
    static String [] time;
    static int [] team;

    public static void main(String[] args) {
        inputData();
        findAnswer();

        sc.close();
    }

    public static void inputData(){
        int i;

        N = sc.nextInt();
        time = new String[N];
        team = new int[N];
        for(i = 0; i < N; i++){
            team[i] = sc.nextInt();
            time[i] = sc.next();
        }
    }

    public static void findAnswer(){
        int teamOneScore = 0, teamTwoScore = 0;
        int teamOneTime = 0, teamTwoTime = 0;
        int savedTime = 0;
        int currentTime;

        for(int i = 0; i < N; i++){
            String[] temp = time[i].split(":");
            currentTime = Integer.parseInt(temp[0]) * 60 + Integer.parseInt(temp[1]);

            if (teamOneScore > teamTwoScore) {
                teamOneTime += (currentTime - savedTime);
            } else if (teamTwoScore > teamOneScore) {
                teamTwoTime += (currentTime - savedTime);
            }

            if (team[i] == 1) {
                teamOneScore++;
            } else {
                teamTwoScore++;
            }

            savedTime = currentTime;
        }

        if (teamOneScore > teamTwoScore) {
            teamOneTime += (48 * 60 - savedTime);
        } else if (teamTwoScore > teamOneScore) {
            teamTwoTime += (48 * 60 - savedTime);
        }

        System.out.println(formatTime(teamOneTime));
        System.out.println(formatTime(teamTwoTime));
    }

    public static String formatTime(int seconds){
        int m = seconds / 60;
        int s = seconds % 60;
        return String.format("%02d:%02d", m, s);
    }
}

0개의 댓글