다른것은 함수의 사용유무이다. 그리고 시공간상 차이도 없다.

하지만 그러나 문제가 복잡해질 수록, 가독성은 크게 차이가 날 것 같다.

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;
        }
    }
}```