카테고리 없음
9월 20일 수요일 TIL 회고록
tft4rollz
2023. 9. 21. 02:14
백준 2884번 알람 시계
문제, 입력, 출력, 예제 입력
풀이
import java.util.Scanner;
public class baekjoonCoding {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int h = sc.nextInt();
int m = sc.nextInt();
int newH = 0;
int newM = 0;
int alarm = 15; // 60 - 45 == 15
if (m + alarm < 60 && h > 1) {
newH = h - 1;
newM = m + alarm;
System.out.println(newH);
System.out.println(newM);
} else if (m + alarm > 60 && h >=1 ) {
newM = m - 45;
System.out.println(h);
System.out.println(newM);
} else if (m + alarm < 60 && h <= 0) {
newH = 23;
newM = m + alarm;
System.out.println(newH);
System.out.println(newM);
} else if (m + alarm > 60 && h <= 0) {
newH = 0;
newM = m - 45;
System.out.println(newH);
System.out.println(newM);
} else if (m == 45) {
System.out.println(h);
System.out.println(0);
} else if (m + alarm < 60 && h == 1) {
newH = 0;
newM = m + alarm;
System.out.println(newH);
System.out.println(newM);
}
}
}
엄~~청 지저분하다 ㅠㅠ.. 급하게 정답만 맞추려고 하다 보니까 지저분해졌다...
입력받은 분에 15를 더한 값이 60보다 작으면 45보다 작다는 뜻이니까 시를 -1 해주고, 반대로 입력받은 분에 15를 더한 값이 60보다 크면 45보다 크다는 뜻이니까 시는 냅두고 입력받은 분에 -45를 해주었다.
또한 if문에 h 조건문을 추가해서 입력받은 시가 0보다 작을 경우 23으로 수정해주었다.
입력받은 분이 45분이라면 입력받은 시간은 그대로 출력하고 초는 0으로 출력하였다.
이런식으로 else-if 문을 계속 만들어서 반례들이 맞는지 확인했다.
코딩 테스트와 김영한 강사님의 스프링 부트와 JPA 활용1 강의를 듣고있다. 모르는 부분, 외워야 하는 부분은 블로그에 적어야겠다.