https://www.acmicpc.net/problem/2525
2525번: 오븐 시계
첫째 줄에 종료되는 시각의 시와 분을 공백을 사이에 두고 출력한다. (단, 시는 0부터 23까지의 정수, 분은 0부터 59까지의 정수이다. 디지털 시계는 23시 59분에서 1분이 지나면 0시 0분이 된다.)
www.acmicpc.net
import java.util.Scanner;
import java.util.*;
public class Main {
public static void main(String[] args)
{
Scanner sc = new Scanner(System.in);
int[] arr= new int[2];
arr[0] = sc.nextInt();
arr[1] = sc.nextInt();
int a = sc.nextInt();
arr[0] +=a/60;
arr[1] += a%60;
if(arr[0] >= 24)
{
arr[0] -=24;
}
if(arr[1]>=60)
{
arr[1]-=60;
arr[0] +=1;
if(arr[0] >=24)
{
arr[0] -= 24;
}
}
for(int i=0; i<=1; i++)
{
System.out.print(arr[i] + " ");
}
}
}
이 문제에서는 요리하는데 필요한 시간 'C'를 받게 되는데 이 C를 시간과 분으로 변환 후 각각 시와 분을 본래 처음 입력 받은 A와 B 에 더해주는 방식으로 풀이했다.
이 경우 고려해야할 2가지 조건이 생긴다.
첫째, 더한 시간이 24를 넘길 경우이다. 때문에 조건문을 통하여 24를 빼주었다.
둘째, 더한 분이 60을 넘을 경우이다. 이 경우 더한 분에서 60을 빼주고 더한 시간에 1을 추가로 더해주면 된다. 이 경우 추가적으로 고려해야할 부분이 있는데 바로 1을 추가로 시간에 더해주었을 때 24보다 크거나 같을 경우이다. 때문에 조건을 추가하여 만약 1을 더한 시간이 24보다 크거나 같다면 24를 빼주는 것으로 정의했다.
'알고리즘' 카테고리의 다른 글
| 2024.2.5 백준 3문제 (1) | 2024.02.06 |
|---|---|
| [알고리즘]백준 2857 (0) | 2023.06.29 |
| [알고리즘]백준 4153번: 직각삼각형 (0) | 2023.05.28 |
| [알고리즘]백준 2884번: 알람시계 (0) | 2023.05.28 |
| [알고리즘]백준 2588번 곱셈 (0) | 2023.05.28 |