1. 내 코드
난 클래스로 풀었는데, 이건 그냥 for로 푸는 게 더 직관적이고 빠른 듯 하다...
상위 개념으로 풀어야 잘 푼 거라는 생각을 버리자.
import java.util.Scanner;
class Solution
{
public static void main(String args[])
{
Scanner sc= new Scanner(System.in);
int T;
T=sc.nextInt();
for (int test_case = 1; test_case <= T; test_case++) {
// 1. 값을 전부 다 받고, 1,3번 / 2,4번 따로 계산
int H1 = sc.nextInt();
int M1 = sc.nextInt();
int H2 = sc.nextInt();
int M2 = sc.nextInt();
// 2. 분 먼저 계산하고, 반환 값으로 올림 수와 나머지를 반환
Minute minute = new Minute(M1, M2);
// 3. 시 계산 시 input으로 두 시를 나타내는 수와 올림 수 넣기 // 결과 반환
Hour hour = new Hour(H1,H2, minute.upper);
int refinedH;
if(hour.H>12){
refinedH = hour.H-12;
}else{
refinedH = hour.H;
}
System.out.printf("#%d %d %d\n",test_case,refinedH, minute.rest);
}
}
}
class Minute {
int plusTotal;
int upper;
int rest;
Minute(int a , int b){
this.plusTotal = a+ b;
this.upper = this.plusTotal/60;
this.rest = this.plusTotal - this.upper*60;
}
}
class Hour {
int H;
public Hour(int a, int b, int upper) {
this.H = a+b+upper;
}
}
'알고리즘 > 문제 풀이' 카테고리의 다른 글
SW D2 1970 쉬운 거스름돈 (0) | 2023.05.15 |
---|---|
SW Expert Academy 1974. 스도쿠 검증 (0) | 2023.05.14 |
SW D2 1979. 어디에 단어가 들어갈 수 있을까 (0) | 2023.05.13 |
SWEA 1983. 조교의 성적 매기기 (0) | 2023.05.11 |
SWEA 1984. 중간 평균값 구하기 (0) | 2023.05.11 |