my study.

Coding Test/Softeer

[소프티어] 근무시간, java

fftl 2025. 2. 7. 00:17

- 문제

 

Softeer - 현대자동차그룹 SW인재확보플랫폼

 

softeer.ai

- 풀이

import java.io.*;
import java.util.*;

public class Main {

    public static void main(String[] args) throws Exception{

        //입력 값을 받아들여줍니다.
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

        //결과를 담을 result 변수를 선언합니다.
        int result = 0;

        //입력은 출퇴근 기록을 5줄에 걸쳐 주어집니다.
        //5번 반복하는 for 반복을 통해 각각의 줄을 받아옵니다.
        for(int i=0; i<5; i++){

            //시간 계산을 위해 만든 timeToValue를 이용해 받아들이는 String 문자열을 분으로 변환해
            //result에 더해줍니다.
            result += timeToValue(br.readLine());
        }

        //답안을 출력합니다.
        System.out.println(result);
    }

    //입력으로 주어지는 문자열을 받아들여 근무시간을 분으로 계산하는 함수입니다.
    static int timeToValue(String str){

        //먼저 출퇴근 시간을 " "을 통해 잘라내어줍니다.
        String[] times = str.split(" ");

        //이제 각각의 출,퇴근 시간의 시간과 분을 ":"을 통해 잘라내어줍니다.
        String[] start = times[0].split(":");
        String[] end = times[1].split(":");

        //이제 시간의 경우 *60, 분의 경우 그대로 하여 더해주어
        //출근 시간과 퇴근시간을 수치로서 계산해줍니다.
        int st = Integer.parseInt(start[0])*60 + Integer.parseInt(start[1]);
        int ed = Integer.parseInt(end[0])*60 + Integer.parseInt(end[1]);

        //이제 퇴근시간 - 출근시간을 계산하여 근무 시간을 구해 반환합니다.
        return ed-st;
    }
}