Algorithm/SW Expert Academy
[SWEA] 4229 태혁이의 사랑은 타이밍
SSONGMI
2021. 2. 23. 21:40
반응형
문제 출처: SW Expert Academy
SW Expert Academy
SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!
swexpertacademy.com
: 태혁이가 소개팅 약속시간부터 바람맞았다는 사실을 알게 된 시간까지의 소요시간을 분으로 나타내는 문제이다.
: 만약에 태혁이가 소개팅 시간 전에 차이게 된다면, 즉 주어진 태혁이의 시간이 11일 11시 11분보다 전이면 -1을 출력한다.
: 먼저 소개팅 약속시각인 11일 11시 11분을 분으로 만들어주고 태혁이가 바람맞은 것을 깨닫게 된 시각을 분으로 만들어 그 차이를 구하면 된다.
: 일은 24시간으로 이루어져있고, 1시간은 60분으로 이루어져 있기 때문에 일을 나타내는 D에 24와 60을 곱해준다.
: 시간은 60분으로 이루어져있기 때문에 H에 60을 곱해주면 분으로 표시할 수 있다.
: 분 M은 그대로 해서 전체 값에 더해준다.
: 위와 같은 방식으로 해서 각각의 시각을 분으로 바꿀 수 있고 태혁이의 시각에서 소개팅 시각까지를 빼주면 그 차이를 구할 수 있다.
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class Solution {
static BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
static StringBuilder sb = new StringBuilder();
static StringTokenizer st;
public static void main(String[] args) throws NumberFormatException, IOException {
// 테스트케이스 수 입력
int T = Integer.parseInt(br.readLine());
// 테스트 케이스 만큼 반복
for(int tc = 1; tc <= T; tc++) {
// 일, 시, 분 입력(11<=D<=14 0 <= H <= 23 0 <= M <=59)
st = new StringTokenizer(br.readLine());
int D = Integer.parseInt(st.nextToken());
int H = Integer.parseInt(st.nextToken());
int M = Integer.parseInt(st.nextToken());
// 전체를 분 기준으로 맞춤
int date = 11*24*60 + 11 * 60 + 11;
// 태혁이가 기다린 분
int min = D*24*60 + H * 60 + M;
int ans = date > min ? -1 : min-date;
sb.append(String.format("#%d %d\n", tc, ans));
}
System.out.println(sb);
}
}
반응형