짱구 굴리기 (Q) -
[백준 1924] 2007년
skwzz
2019. 4. 7. 15:28
단순한 조건, 반복문 문제입니다.
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 로 바꿀 수 있습니다.