티스토리 뷰
1. 문제
2. 정답
import java.util.Scanner;
public class Main{
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
int a = sc.nextInt();
int b = sc.nextInt();
int c = sc.nextInt();
int m = 60*a+b; // a의 시간을 분으로 변경
m+=c; // m=m+c
int hour=(m/60)%24; // %를 통해 24이상일 경우 0으로 돌아가도록 설정
int minute = m%60; // %를 통해 60분 이상이면 0으로 돌아가도록 설정
// 60분으로 넘을 경우 hour에 1플러스, 분은 60마이너스
if(minute>=60){
hour+=1;
minute-=60;
}
System.out.println(hour+" "+minute);
}
}
3. 분석
가장 먼저, 시를 분으로 변환하여 쉽게 계산할 수 있도록 만들어야한다.
시를 분으로 변환하는 방법은 시에 60을 곱하면 된다.
변환 후에는 오븐시간을 더해 총 시간을 구해야하므로 m+=c로 총 시간을 구하도록 한다.
총 시간을 구한 뒤, 다시 시와 분으로 변경하여야 하는데 분에 60을 나누고 24시간이 넘으면
0이 되도록 60으로 나눈 수에 %24를 지정해준다.
나머지를 구하는 식을 통해 24를 넘으면 0으로 돌아가게 설정되어 있다.
그 다음으로 분도 이와 같이 %60으로 지정하여 60으로 나눈 나머지를 분으로 지정하도록 설정한다.
분에도 60을 넘을 경우 시에 +1, 분에-60을 하도록 설정해준 후 마지막으로 시와 분을 출력해준다.
'CodingTest > JAVA' 카테고리의 다른 글
백준(BAEKJOON) | 10950번 | A+B-3 (0) | 2022.12.10 |
---|---|
백준(BAEKJOON) | 1330번 | 두 수 비교하기 (0) | 2022.12.08 |
백준(BAEKJOON) | 2588번 | 곱셈 (0) | 2022.12.08 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 백준5597
- 노랭이책핵심정리
- SQLD핵심정리
- Baekjoon10871
- Baekjoon8393
- Baekjoon1330
- SQL
- 백준10950
- 백준10871
- Baekjoon10870
- 백준3052
- 노랭이책
- BAEKJOON
- BAEKJOON2480
- BAEKJOON2588
- Baekjoon5597
- BAEKJOON2525
- 프로그래머스
- Baekjoon8958
- 백준2525
- 백준8393
- Baekjoon1546
- Baekjoon2562
- Baekjoon10950
- Baekjoon3052
- 백준10870
- 백준2480
- 데이터모델링의이해
- 백준1546
- 백준
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
글 보관함