이 문제가 2007년에 만들어진걸까요?
저는 2007년엔 초딩이었는데
시간 참 빠르네요
1. x월 y일 = n일 로 변환해서
2. mod7을 하여서
3. 어떤 요일인지 찾아봅시다
코드입니다
import java.util.Scanner;
public class Main {
public static void main(String args[]){
Scanner scan = new Scanner(System.in);
int m = scan.nextInt();
int d = scan.nextInt();
switch (m) {
case 2 :
d += 31;
break;
case 3 :
d += 59;
break;
case 4 :
d += 90;
break;
case 5 :
d += 120;
break;
case 6 :
d += 151;
break;
case 7 :
d += 181;
break;
case 8 :
d += 212;
break;
case 9 :
d += 243;
break;
case 10 :
d += 273;
break;
case 11 :
d += 304;
break;
case 12 :
d += 334;
break;
default :
break;
}
String ans = "";
switch(d%7) {
case 1:
ans = "MON";
break;
case 2:
ans = "TUE";
break;
case 3:
ans = "WED";
break;
case 4:
ans = "THU";
break;
case 5:
ans = "FRI";
break;
case 6:
ans = "SAT";
break;
case 0:
ans = "SUN";
break;
}
System.out.println(ans);
}
}
완전 노가다군요!
아쉽게도 제 머리에는
31 28 31 30 31 30 31 31 30 31 30 31 를
switch 나 if 말고 깔끔하게 계산하는 방법을 찾지 못했습니
'백준 문제풀기 > JAVA' 카테고리의 다른 글
[백준 1934 JAVA 자바] 최소공배수 (0) | 2023.07.31 |
---|---|
[백준 1929 JAVA 자바] 소수 구하기 (0) | 2023.07.31 |
[백준 1920 JAVA 자바] 수 찾기 (0) | 2023.07.30 |
[백준 1789 JAVA 자바] 수들의 합 (0) | 2023.07.30 |
[백준 1764 JAVA 자바] 듣보잡 (0) | 2023.07.30 |