2884번 문제풀이
1번 제출 - why 땡 ?
더보기
시간만 입력될 경우의 조건을 안넣어 줬다.ex) 10시 -> 10 0이라고 입력하기 않기 때문에 한문자만 들어갈 경우도 고고..문제를 잘 못 이해함 ㅎㅎㅎ;ㅎ;ㅎ;ㅎ;ㅎ
불필요한 0은 사용하지 않는다. >>> 불필요한 0은 나오지 않게 하라는줄 ㅎㅋㅎㅋ 그부분 빼고 돌리니까 정답됨!
import java.util.Scanner;
public class Main{
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String input = sc.nextLine();
String [] arr = input.split(" ");
int h = Integer.parseInt(arr[0]);
int m = Integer.parseInt(arr[1]);
if((m/45)==0) {
if(h==0) {
h=23;
m = (m+60)-45;
System.out.println(h + " " + m);
}else {
h--;
m = (m+60)-45;
System.out.println(h + " " + m);
}
}else if((m/45)==1){
if((m-45)==0) {
System.out.println(h);
}else {
m -= 45;
System.out.println(h + " " + m);
}
}
}
}
2번 제출 - 정답
import java.util.Scanner;
public class Main{
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String input = sc.nextLine();
String [] arr = input.split(" ");
int h = Integer.parseInt(arr[0]);
int m = Integer.parseInt(arr[1]);
if((m/45)==0) {
if(h==0) {
h=23;
m = (m+60)-45;
System.out.println(h + " " + m);
}else {
h--;
m = (m+60)-45;
System.out.println(h + " " + m);
}
}else if((m/45)==1){
m -= 45;
System.out.println(h + " " + m);
}
}
}
3번제출 - 정답 - 중복되는 코드 줄이고 더 간결하게
import java.util.Scanner;
public class Main{
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String input = sc.nextLine();
String [] arr = input.split(" ");
int h = Integer.parseInt(arr[0]);
int m = Integer.parseInt(arr[1]);
if(m<45) {
h--;
m = (m+60)-45;
if(h<0) {
h=23;
}
System.out.println(h + " " + m);
}else {
m -= 45;
System.out.println(h + " " + m);
}
}
}
'JAVA > 백준' 카테고리의 다른 글
[백준 문제] java - 15552, 2741, 2742, 11021, 11022, 2438, 2439, 10871, 10952, 10951 (0) | 2021.05.29 |
---|---|
[백준 문제] java - 8393 (0) | 2021.05.27 |
[백준 문제] java - 2739, 10950 (0) | 2021.05.27 |
# 14681 - 사분면 고르기 [백준 문제풀이] (0) | 2021.05.25 |
# 1330 - 두 수 비교하기 [백준 문제풀이] (0) | 2021.05.25 |