공부 흔적남기기

코테 2번째 문제 본문

항해 99 5기

코테 2번째 문제

65살까지 코딩 2022. 1. 20. 18:04
728x90
반응형
class Main {
    public static String solution(String[] checkIn, String[] checkOut) {
        int checkInHour = 0;
        int checkInMinute =0;
        int checkOutMinute = 0;
        int checkOutHour = 0;
        int minute = 0;
        int hour =0;
        //체크인 배열과 체크아웃 배열을
        //시간과 분으로 나누어 
        //hour과 minute에 저장하도록함
        for (int i = 0; i < checkIn.length; i++) {
            String[] check1 = checkIn[i].split(":");
            String[] check2 = checkOut[i].split(":");
            checkInHour = Integer.parseInt(check1[0]);
            checkInMinute = Integer.parseInt(check1[1]);
            checkOutHour = Integer.parseInt(check2[0]);
            checkOutMinute = Integer.parseInt(check2[1]);


            //hour이 29보다 크다면
            //5시가 넘었기 때문에 9시 0분으로 변환
            if(checkOutHour >= 29){
                checkOutHour = 21;
                checkOutMinute = 0;
            }
            //시간의 차이를 구해주고
                hour += checkOutHour-checkInHour;
            //분의 차이를 구할 떄
            //체크아웃 분이 체크인 분 보다 작다면
            //체크아웃에 60을 더해준다음에 -체크인 분을 해줘야함
            //60을 더해줬기 때문에 전체 hour에서 -1을함
                if(checkInMinute > checkOutMinute){
                    hour--;
                    minute += (checkOutMinute+60-checkInMinute);
                }else{
                  //체크아웃 분이 체크인 분 보다 크다면 그냥 뺴주면됨
                    minute += (checkOutMinute-checkInMinute);
                }
            }
            

		//분을 시간으로 바꿔주는 부분
        // 나눗셈과 나머지를 통해서도 가능
        while(true){
            if(minute <60){
                break;
            }else{
                minute -=60;
                hour++;
            }
        }
        String answer = hour+"시간" + minute+ "분";
        return answer;

    }

    public static void main(String[] args) {
        String[] arr1 = {"8:42", "9:00", "8:50", "8:47", "9:01", "8:51", "8:59"};
        String[] arr2 = {"21:42", "23:10", "25:30", "29:10", "23:11", "26:44", "29:26"};

        System.out.println(solution(arr1, arr2));
    }

}
728x90
반응형

'항해 99 5기' 카테고리의 다른 글

항해 99 3주차 WIL  (0) 2022.01.30
항해 99 2주차 WIL  (0) 2022.01.22
항해 1주차 웹개발 미니 프로젝트 후기  (0) 2022.01.17
항해 99 1주차 WIL  (0) 2022.01.11
항해99 5기 시작전 웹개발 종합반 3주차 리뷰  (0) 2021.12.11