ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [백준 1924번] 2007년
    Algorithm/기타 2019. 12. 15. 14:52

    백준알고리즘 1924번 : 2007년

     

    먼저 input값으로 들어올 날짜가 2007년의 몇번째 날인지를 구한다.

    1월 1일은 첫째날, 12월 31일은 365번째 날.. 이런식으로 구해준 다음,

    7로 나눴을때의 나머지가 몇이 되느냐에 따라 구분해서 요일을 출력해주면 된다.

     

     

    풀이 과정


    1. while문과 switch-case문을 통해 받아온 달의 전 달까지의 일수를 더해준다.
    2. 추가로 받아온 일수를 더해주어 전체 일수를 count한다.
    3. 7로 나눈 나머지 값에 따라 요일을 지정하고, 이를 출력한다.
      (1월 1일은 전체 일 수가 1이고, 월요일이므로 "MON" 출력),

     

     

     

    소스 ▽

    더보기
    import java.util.Scanner;
    
    public class Main {// 11721번 열 개씩 끊어 출력하기
    	public static void main(String[] args) {
    
    		Scanner sc = new Scanner(System.in);
    		int wol = sc.nextInt(); //몇 월?
    		int ill = sc.nextInt();//몇 일?
    
    		int countMonth = 0;//정해준 달 한달 전까지 월 별 일수를 하나씩 더해준다.
    		int totalDay = 0;//총 일수
    		while (countMonth != wol - 1) {
    			countMonth++;
    			switch (countMonth) {
    			case 1:
    			case 3:
    			case 5:
    			case 7:
    			case 8:
    			case 10:
    			case 12:
    				totalDay += 31;
    				break;
    			case 4:
    			case 6:
    			case 9:
    			case 11:
    				totalDay += 30;
    				break;
    			case 2:
    				totalDay += 28;
    				break;
    			default:
    				break;
    			}
    		}
    		totalDay +=ill; // 전달까지의 월 별 일수에 해당월 일 수를 더하여 총 일수를 구함.
    		
    		int yoIll = totalDay%7; // 7로 나눈 나머지값이 1이면 월요일, 2면 화요일.... 나누어떨어지면 일요일
    		
    		//1일이 월요일, 8일이 월요일...
    		switch (yoIll) {
    		case 1:
    			System.out.println("MON");
    			break;
    		case 2:
    			System.out.println("TUE");
    			break;
    		case 3:
    			System.out.println("WED");
    			break;
    		case 4:
    			System.out.println("THU");
    			break;
    		case 5:
    			System.out.println("FRI");
    			break;
    		case 6:
    			System.out.println("SAT");
    			break;
    		default:
    			System.out.println("SUN");
    			break;
    		}
    	}
    
    }

     

     

     

    Summary


    switch-case 문은 break가 걸리기 전까지의 모든 case문을 수행한다.

     

     

     

    'Algorithm > 기타' 카테고리의 다른 글

    [백준 11719번] 그대로 출력하기 2  (0) 2019.12.16
    [백준 11721번] 열 개씩 끊어 출력하기  (0) 2019.12.15
    [백준 10250번] ACM 호텔  (0) 2019.12.11
    [백준 4153번] 직각삼각형  (0) 2019.12.08
    [백준 1546번] 평균  (0) 2019.12.07

    댓글

Designed by Tistory.