본문 바로가기

알고리즘/Jungol

[Java] 정올기초다지기 함수2-자가진단02

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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
package 함수2.자가진단02;
 
import java.util.Scanner;
 
public class Main {
 
    public static String day(int num1,int num2) {
        int [] a = {1,3,5,7,8,10,12}; // 31일 까지있는 월을 배열에 저장
        int [] b = {4,6,9,11}; // 30일까지있는 월을 배열에 저장
        
        for(int i=0;i<a.length;i++) { // 입력받은 num1값을 31일까지 있는 월과 일치하는지 for문을 통한 비교
            if(num1 == a[i]) { // 일치할경우 if문 실행
                if(num2 > 31 || num2 < 1) { // 실행하였을때, 31보다 크거나 1보다 작으면 BAD 리턴
                    return "BAD!";
                }
                else { // 나머지는 OK 리턴
                    return "OK!";
                }
            }
        }
        for(int i=0;i<b.length;i++) { // 위와 같은 방법으로 30일까지 있는 월을 비교
            if(num1 == b[i]) {
                if(num2 > 30 || num2 < 1) {
                    return "BAD!";
                }
                else {
                    return "OK!";
                }
            }
        }
        if(num1 == 2) { // 2의 입력값이 들어오게됫을때 if문 실행
            if(num2 > 29 || num2 < 1) { // 29보다 초과하거나 1보다 미만일경우 bad 리턴
                return "BAD!";
            }
            else {
                return "OK!";
            }
        }
        return "BAD!"; // num1이 배열과 2에 들어오지않는다면 bad 리턴
    }
    
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        
        String out = "";
        
        int num1 = sc.nextInt();
        int num2 = sc.nextInt();
        
        out = day(num1,num2); // 입력값2개 주고 그대로 출력
        
        System.out.print(out);
        sc.close();
    }
}
 

 

> 주석에 설명 달아놨습니다.