[Baekjoon 2884번] if문-알람 시계 문제풀이
- Algorithm/Problem Solving
- 2021. 6. 27.
반응형
728x90
반응형
백준 2884번
제출 코드
1) 기본
import java.util.Scanner;
public class M2884_2 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String A = sc.nextLine();
String[] array = A.split(" ");
int hour = Integer.parseInt(array[0]);
int minute = Integer.parseInt(array[1]);
if (minute >= 45) {
minute = minute - 45;
} else {
minute = 60 + minute - 45;
hour = hour - 1;
if (hour < 0) {
hour = hour + 24;
}
}
System.out.println(hour + " " + minute);
}
}
입력된 시간의 분(minute)이 45분 이상이라면 45분을 뺀 시간 그대로, 시간(hour)에 변화가 없다. 하지만 만약 분(minute)이 45분 미만이라면, 아래와 같이 minute, hour이 계산되어진다.
* minute : 45분을 빼고, 60분을 더한다.
* hour : 0보다 작아질때 + 24시를 한다.
예를 들어, 0 10 이 입력되었을때는 23 25가 입력되어야한다. hour - 1 이 0보다 작은 -1인 경우일때 +24를 해서 23시가 만들어진다.
2) Java8의 LocalTime 사용
import java.time.LocalTime;
import java.util.Scanner;
public class M2884 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String A = sc.nextLine();
String[] array = A.split(" ");
LocalTime localTime = LocalTime.of(Integer.parseInt(array[0]), Integer.parseInt(array[1]));
localTime = localTime.minusMinutes(45);
System.out.println(localTime.getHour() + " " + localTime.getMinute());
}
}
Java8에서 제공하는 LocalTime 을 사용하여 해결할 수도 있다. mimusMinutes 를 사용하여 45분을 뺀 시간을 바로 구할 수 있다.
반응형
'Algorithm > Problem Solving' 카테고리의 다른 글
[Baekjoon] 재귀 문제풀이 (피보나치수열 10870번, 팩토리얼 10872번) (0) | 2021.07.05 |
---|---|
[Baekjoon 2750번] 선택정렬, 삽입정렬 풀이 (0) | 2021.07.05 |
[Baekjoon 2588번] 곱셈 문제풀이 (0) | 2021.06.21 |
[코딩인터뷰] 스택 - 유효한 괄호 문제풀이 (0) | 2021.02.08 |
[코딩인터뷰] 연결리스트 - 역순 연결리스트 문제풀이 (0) | 2021.02.07 |