728x90
처음에 int형으로 입력받아서 처리 하려고 하니까
출력부분에서 1~9월이나 1~9일 999~1년 까지의 앞자리 0의 처리가 더 복잡할 것 같아서
String문자열을 이용해서 받아서 처리 했다.
풀이)
import java.util.Scanner;
import java.io.FileInputStream;
class Solution
{
public static void main(String args[]) throws Exception
{
Scanner sc = new Scanner(System.in);
int T;
T=sc.nextInt();
for(int test_case = 1; test_case <= T; test_case++)
{
String cal = sc.next();
int y=Integer.parseInt(cal.substring(0,4));
int m=Integer.parseInt(cal.substring(4,6));
int d=Integer.parseInt(cal.substring(6,8));
if(m==1||m==3||m==5||m==7||m==8||m==10||m==12){
if(d>=1&&d<=31){
System.out.printf("#%d %s/%s/%s \n", test_case, cal.substring(0,4),cal.substring(4,6),cal.substring(6,8));
}else{
System.out.println("#"+test_case+" "+"-1");
}
}else if(m==4||m==6||m==9||m==11){
if(d>=1&&d<=30){
System.out.printf("#%d %s/%s/%s \n", test_case, cal.substring(0,4),cal.substring(4,6),cal.substring(6,8));
}else{
System.out.println("#"+test_case+" "+"-1");
}
} else if (m==2) {
if(d>=1&&d<=28){
System.out.printf("#%d %s/%s/%s \n", test_case, cal.substring(0,4),cal.substring(4,6),cal.substring(6,8));
}else{
System.out.println("#"+test_case+" "+"-1");
}
}else{
System.out.println("#"+test_case+" "+"-1");
}
}
}
}
728x90
'프로그래밍 > Java(자바)' 카테고리의 다른 글
[SW Expert Academy] 1938. 아주 간단한 계산기 --java (0) | 2024.03.12 |
---|---|
[SW Expert Academy] 1936. 1대1 가위바위보 --java (0) | 2024.03.12 |
[SW Expert Academy] 2063. 중간값 찾기 --java (0) | 2024.03.11 |
[SW Expert Academy] 2068. 최대수 구하기 --java (0) | 2024.03.08 |
[SW Expert Academy] 2072. 홀수만 더하기 --java (0) | 2024.03.08 |