개발에 AtoZ까지

[JAVA][D2] 1976. 시각 덧셈 본문

코딩테스트 준비/SWEA

[JAVA][D2] 1976. 시각 덧셈

AtoZ 개발자 2021. 1. 8. 00:27
반응형

문제 

시 분으로 이루어진 시각을 2개 입력 받아, 더한 값을 시 분으로 출력하는 프로그램을 작성하라.

(시각은 12시간제로 표시한다. 즉, 시가 가질 수 있는 값은 1시부터 12시이다.)


[제약 사항]

시는 1 이상 12 이하의 정수이다. 분은 0 이상 59 이하의 정수이다.


[입력]

가장 첫 줄에는 테스트 케이스의 개수 T가 주어지고, 그 아래로 각 테스트 케이스가 주어진다.

각 테스트 케이스의 첫 번째 줄에는 4개의 수가 주어진다.

첫 번째 수가 시를 나타내고 두 번째 수가 분을 나타낸다. 그 다음 같은 형식으로 두 번째 시각이 주어진다.


[출력]

출력의 각 줄은 '#t'로 시작하고 공백을 한 칸 둔 다음, 시를 출력하고 공백을 한 칸 둔 다음 분을 출력한다.

(t는 테스트 케이스의 번호를 의미하며 1부터 시작한다.)

예시

 

풀이

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.StringTokenizer;

public class Solution {
	public static void main(String[] args) {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		try {
			int T = Integer.parseInt(br.readLine());
			for(int i=1;i<=T;i++) {
				StringTokenizer st = new StringTokenizer(br.readLine()," ");
				int hour=0;
				int min=0;
				//2개의 시간을 입력해주기때문에 반복함
				for(int a=0;a<2;a++) {
					hour+=Integer.parseInt(st.nextToken());
					min+=Integer.parseInt(st.nextToken());
				}
				//분이 60 이상일때
				if(min>=60) {
					min-=60;
					hour+=1;
				}
				//시간이 12 넘어가면
				if(hour>12) {
					hour-=12;
				}
				System.out.println("#"+i+" "+hour+" "+min);
			}
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
}

 

반응형
Comments