단순한 조건, 반복문 문제입니다.
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 |