문제 링크
주의사항
- JAVA를 사용하여 프로그램을 사용하였습니다.
- 백준에서 코드를 작성하였을 때 아래 형태에서 Main에서 결과가 출력되어야 합니다.
public class Main{
public static void main(String[] args){
}
}
문제 설명
접근 방법
- BufferedReader를 사용하여 입력값을 저장합니다.
- StringTokeizer을 통해 띄어쓰기를 기점으로 구분한 값들을 int형으로 형변환하여 저장하였습니다.
- 함수 hourCal, minCal을 구성하여 계산을 함수를 통해 하도록 하였습니다.
- 함수에서 if문을 사용하여 조건을 만들었습니다.
- 분에서 45분이 감소하였을 때에 음수 : hour -1
- hour-1을 했을 때 음수 : hour=23;
- 분에서 45분 감소하였을 때 음수가 아니면 그대로 출력하도록
- 기본적인 JAVA에 출력문 System.out.println()을 사용하여 조건에 맞는 결과가 출력되게 하였습니다.
결과 코드
import java.util.*;
import java.io.*;
public class Main{
public static void main(String[] args) throws IOException{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
//입력 값을 받는 BufferedReader
StringTokenizer st;
String text;
while((text=br.readLine())!=null){
st = new StringTokenizer(text," ");
int hour = Integer.parseInt(st.nextToken()); //입력 값 형변환
int min = Integer.parseInt(st.nextToken());
int[] result = hourCal(hour,min); //배열로 함수값 받기
System.out.println(result[0] + " " + result[1]); //결과 출력
}
}
public static int[] hourCal(int h, int m){ //시간 계산 함수
m = minCal(m);
if(m<0){ //조건 형성 및 계산
h-=1;
m = 60+m;
if(h<0){
h=23;
}
}
int[] value = {h,m};
return value;
}
public static int minCal(int m){ //분 계산 함수
m-=45;
return m;
}
}
'백준' 카테고리의 다른 글
[백준] 단계별로 풀어보기(단계:3,for문,JAVA)10950번,A+B-3 (0) | 2021.12.04 |
---|---|
[백준] 단계별로 풀어보기(단계:3,for문,JAVA)2739번,구구단 (0) | 2021.12.04 |
[백준] 단계별로 풀어보기(단계:2,IF문,JAVA)14681번,사분면 고르기 (0) | 2021.12.03 |
[백준] 단계별로 풀어보기(단계:2,IF문,JAVA)2753번,윤년 (0) | 2021.12.02 |
[백준] 단계별로 풀어보기(단계:2,IF문,JAVA)9498번,시험 성적 (0) | 2021.12.02 |
댓글