-
9월 20일 수요일 TIL 회고록카테고리 없음 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 강의를 듣고있다. 모르는 부분, 외워야 하는 부분은 블로그에 적어야겠다.