본문 바로가기
짱구 굴리기 (Q) -

[백준 1924] 2007년

by skwzz 2019. 4. 7.

출처 : https://www.acmicpc.net/problem/1924

단순한 조건, 반복문 문제입니다.

1월 1일 월요일 셋팅을 마친 후 

찾는 월과 일이 일치할 경우 요일 출력,

아니면 일과 요일을 1씩 늘리고

조건에 따라 월 증가 및 일, 요일 다시 셋팅.

 

public class Q1924 {
	public static void main(String[] args) throws IOException{
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		StringTokenizer st = new StringTokenizer(br.readLine());
		int[] arr = new int[3];
		String[] day = new String[] {"", "MON","TUE","WED","THU","FRI","SAT","SUN"};
		for(int i=0; i<arr.length; i++) {
			arr[i] = 1;
		}
		// MON, TUE, WED, THU, FRI, SAT, SUN
		//  1    2    3    4    5    6    7
		
		int month = Integer.parseInt(st.nextToken());
		int date = Integer.parseInt(st.nextToken());
		
		while(true) {
			if(arr[0]==month && arr[1]==date) {
				System.out.print(day[arr[2]]);
				break;
			}
			
			arr[2]++;
			if(arr[2]>7) {
				arr[2]=1;
			}
			arr[1]++;
			if(arr[0]==1 || arr[0]==3 || arr[0]==5 || arr[0]==7 || arr[0]==8 || arr[0]==10 || arr[0]==12) {
				if(arr[1]>31) {
					arr[0]++;
					arr[1] = 1;
				}
			}else if(arr[0]==4 || arr[0]==6 || arr[0]==9 || arr[0]==11) {
				if(arr[1]>30) {
					arr[0]++;
					arr[1] = 1;
				}
			}else if(arr[0]==2) {
				if(arr[1]>28) {
					arr[0]++;
					arr[1] = 1;
				}
			}
			
		}
	}
}

조건문 순서를 반대로 돌리면 맨 긴 조건절을 else 로 바꿀 수 있습니다.

'짱구 굴리기 (Q) - ' 카테고리의 다른 글

[백준 2178] 미로탐색  (0) 2019.04.08
[백준 15903] 카드 합체 놀이  (0) 2019.04.07
[백준 2839] 설탕 배달  (0) 2019.04.07
[백준 2193] 이친수  (0) 2019.04.05
[백준 1932] 정수 삼각형  (0) 2019.04.04