SWEA 1976 시각 덧셈 D2 (자바 Java)

SWEA 1976 시각 덧셈

문제 정보

  • 문제 출처 : SW Expert Academy
  • 문제 번호 : 1976
  • 문제 제목 : 시각 덧셈
  • 문제 난이도 : D2
  • 풀이 언어 : Java

문제

시 분으로 이루어진 시각을 2개 입력 받아, 더한 값을 시 분으로 출력하는 문제 (시각은 12시간제로 표시한다. 즉, 시가 가질 수 있는 값은 1시부터 12시이다.)

접근

조건문을 활용해 문제를 풀었다.

풀이

  • 먼저 두 시간의 분을 더한다.
  • 합이 60분을 초과할 경우, 60으로 나눈 나머지가 최종 분이 되고, 몫은 시간에 더해진다.
  • 두 시간의 시와 분에서 넘어온 시간(몫)을 더한다.
  • 12시간제를 고려하여, 합산 결과가 12를 초과하면 12로 나눈 나머지가 최종 시간이 되며, 결과가 0시라면 12시로 처리한다.

후기

다른 비슷한 유형의 문제들을 더 풀어볼 계획이다.

코드

Java
import java.util.Scanner;
import java.io.FileInputStream;
 
class Solution
{
    public static void main(String args[]) throws Exception
    {
        Scanner sc = new Scanner(System.in);
        int T;
        T=sc.nextInt();
         
        for(int test_case = 1; test_case <= T; test_case++)
        {
            int H1 = sc.nextInt();
            int M1 = sc.nextInt();
            int H2 = sc.nextInt();
            int M2 = sc.nextInt();
 
            int totalMinutes = M1 + M2;
            int finalMinutes = totalMinutes % 60;
            int hourCarry = totalMinutes / 60;
 
            int totalHours = H1 + H2 + hourCarry;
            int finalHours = totalHours % 12;
            if (finalHours == 0) {
                finalHours = 12;
            }
 
            System.out.println("#" + test_case + " " + finalHours + " " + finalMinutes);
        }
    }
}
Java

Leave a Comment