다른것은 함수의 사용유무이다. 그리고 시공간상 차이도 없다.
하지만 그러나 문제가 복잡해질 수록, 가독성은 크게 차이가 날 것 같다.
Java 스럽게 사고하는 습관을 들여보자.
풀이 - 함수 활용
- 129ms, 10MB
import java.util.Scanner;
public class Main {
// m번째 달의 마지막 날을 반환
public static int lastDayNumber(int m) {
if(m == 2)
return 28;
if(m == 4 || m == 6 || m == 9 || m == 11)
return 30;
return 31;
}
// d일 범위 체크
public static boolean judgeDay(int m, int d) {
if(m <= 12 && d <= lastDayNumber(m))
return true;
return false;
}
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int m = sc.nextInt();
int d = sc.nextInt();
if(judgeDay(m, d))
System.out.print("Yes");
else
System.out.print("No");
}
}풀이 - 함수 활용 X
- 127ms, 10MB
import java.io.*;
import java.util.*;
public class Main {
static int m,d;
static boolean isExists(int m,int d){
if(m<1 || m>12 || d<1 || d>31) return false;
if(m==2){
if(d>28) return false;
}
else if(m==4 || m==6 || m==9 || m==11){
if(d>30) return false;
}
return true;
}
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
m = sc.nextInt();
d = sc.nextInt();
if(isExists(m,d)){
System.out.print("Yes");
return;
}
else{
System.out.print("No");
return;
}
}
}```