Algorithm/COS PRO 1급 기출문제
[COS PRO 1급 기출문제 - Java] 2-2 지하철 기다리기
goakgoak
2020. 12. 21. 15:09
문제 유형
빈칸 채우기
문제
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 | class Main { public int func_a(String times){ int hour = Integer.parseInt(times.substring(0, 2)); int minute = Integer.parseInt(times.substring(3)); return hour*60 + minute; } public int solution(String[] subwayTimes, String currentTime) { int currentMinute = func_a(____); int INF = 1000000000; int answer = INF; for(int i = 0; i < subwayTimes.length; ++i){ int subwayMinute = func_a(_____); if(_____){ answer = subwayMinute - currentMinute; break; } } if(answer == INF) return -1; return answer; } // 아래는 테스트케이스 출력을 해보기 위한 main 메소드입니다. public static void main(String[] args) { Main sol = new Main(); String[] subwayTimes1 = {"05:31", "11:59", "13:30", "23:32"}; String currentTime1 = "12:00"; int ret1 = sol.solution(subwayTimes1, currentTime1); // [실행] 버튼을 누르면 출력 값을 볼 수 있습니다. System.out.println("solution 메소드의 반환 값은 " + ret1 + " 입니다."); String[] subwayTimes2 = {"14:31", "15:31"}; String currentTime2 = "15:31"; int ret2 = sol.solution(subwayTimes2, currentTime2); // [실행] 버튼을 누르면 출력 값을 볼 수 있습니다. System.out.println("solution 메소드의 반환 값은 " + ret2 + " 입니다."); } } | cs |
풀이
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 | class Main { public int func_a(String times){ int hour = Integer.parseInt(times.substring(0, 2)); int minute = Integer.parseInt(times.substring(3)); return hour*60 + minute; } public int solution(String[] subwayTimes, String currentTime) { int currentMinute = func_a(currentTime); int INF = 1000000000; int answer = INF; for(int i = 0; i < subwayTimes.length; ++i){ int subwayMinute = func_a(subwayTimes[i]); if(currentMinute <= subwayMinute){ answer = subwayMinute - currentMinute; break; } } if(answer == INF) return -1; return answer; } // 아래는 테스트케이스 출력을 해보기 위한 main 메소드입니다. public static void main(String[] args) { Main sol = new Main(); String[] subwayTimes1 = {"05:31", "11:59", "13:30", "23:32"}; String currentTime1 = "12:00"; int ret1 = sol.solution(subwayTimes1, currentTime1); // [실행] 버튼을 누르면 출력 값을 볼 수 있습니다. System.out.println("solution 메소드의 반환 값은 " + ret1 + " 입니다."); String[] subwayTimes2 = {"14:31", "15:31"}; String currentTime2 = "15:31"; int ret2 = sol.solution(subwayTimes2, currentTime2); // [실행] 버튼을 누르면 출력 값을 볼 수 있습니다. System.out.println("solution 메소드의 반환 값은 " + ret2 + " 입니다."); } } | cs |