자바 백준 1408번
브론즈 2
https://www.acmicpc.net/problem/1408
1408번: 24
도현이는 Counter Terror Unit (CTU)에서 일하는 특수요원이다. 도현이는 모든 사건을 정확하게 24시간이 되는 순간 해결하는 것으로 유명하다. 도현이는 1시간 만에 범인을 잡을 수 있어도 잡지 않는
www.acmicpc.net
문제 보기

분류: 수학, 구현, 사칙연산
코드 보기
import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); // 현재 시간과 임무 시작 시간 입력 받기 String currentTimeStr = sc.next(); String missionStartTimeStr = sc.next(); // 남은 시간 계산 함수 호출 String remainingTime = calculateRemainingTime(currentTimeStr, missionStartTimeStr); // 남은 시간 출력 System.out.println(remainingTime); } // 남은 시간 계산하는 함수 public static String calculateRemainingTime(String currentTimeStr, String missionStartTimeStr) { // 문자열 시간을 초로 변환 int currentTimeInSeconds = convertStringToSeconds(currentTimeStr); int missionStartTimeInSeconds = convertStringToSeconds(missionStartTimeStr); // 남은 시간 계산 int remainingSeconds; if (currentTimeInSeconds <= missionStartTimeInSeconds) { remainingSeconds = missionStartTimeInSeconds - currentTimeInSeconds; } else { remainingSeconds = 24 * 3600 - (currentTimeInSeconds - missionStartTimeInSeconds); } // 시, 분, 초로 변환하여 형식에 맞게 반환 int remainingHours = remainingSeconds / 3600; remainingSeconds %= 3600; int remainingMinutes = remainingSeconds / 60; int remainingSecs = remainingSeconds % 60; return String.format("%02d:%02d:%02d", remainingHours, remainingMinutes, remainingSecs); } // 문자열 시간을 초로 변환하는 함수 public static int convertStringToSeconds(String timeStr) { String[] timeParts = timeStr.split(":"); int hours = Integer.parseInt(timeParts[0]); int minutes = Integer.parseInt(timeParts[1]); int seconds = Integer.parseInt(timeParts[2]); return hours * 3600 + minutes * 60 + seconds; } }
'공부하기 > 백준' 카테고리의 다른 글
[Java] 백준 풀기 5354 - J박스 (0) | 2023.12.04 |
---|---|
[Java] 백준 풀기 6679 - 싱기한 네자리 숫자 (0) | 2023.12.03 |
[Java] 백준 풀기 14916 - 거스름돈 (1) | 2023.11.29 |
[Java] 백준 풀기 6359 - 만취한 상범 (0) | 2023.11.28 |
[Java] 백준 풀기 2910 - 빈도 정렬 (2) | 2023.11.24 |