사용 언어 : JAVA
결과
- 메모리 : 20,252 kb
- 실행 시간 : 135 ms
- 코드 길이 : 2,812
풀이
package level_1;
import java.util.Scanner;
public class java_2056_2 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int T = sc.nextInt();
for (int i = 1; i <= T; i++) {
String date = sc.next();
int year = Integer.parseInt(date.substring(0,4));
int month = Integer.parseInt(date.substring(4,6));
int day = Integer.parseInt(date.substring(6));
String answer = "#"+i+" "+date.substring(0,4) + "/" + date.substring(4,6) + "/" + date.substring(6) ;
String wrong = "#"+i+" -1";
if ( month > 0 && month < 13 ) {
if ( month == 2 ) {
if ( day > 0 && day < 29 ) {
System.out.println(answer);
}
else {
System.out.println(wrong);
}
}
else if ( month == 1 || month == 3 || month == 5 || month == 7 || month == 8 || month == 10 || month == 12) {
if ( day > 0 && day < 32 ) {
System.out.println(answer);
}
else {
System.out.println(wrong);
}
}
else {
if ( day > 0 && day < 31 ) {
System.out.println(answer);
}
else {
System.out.println(wrong);
}
}
}
else {
System.out.println(wrong);
}
}
}
}
주석
- 더 간단하게 할 수 있는 방법이 있을 것 같은데, 범위로 if문 사용하려고 조금 복잡하게 구현해봤다.
- 처음에는 여러 테스트 케이스에 대한 T 설정을 해두지 않아서 Fail이 떴었다.
'CodingTest > SW Expert Academy' 카테고리의 다른 글
[SW Expert Academy] 2063. 중간값 찾기 (0) | 2024.01.17 |
---|---|
[SW Expert Academy] 2058. 자릿수 더하기 (0) | 2024.01.16 |
[SW Expert Academy] 2043. 서랍의 비밀번호 (0) | 2024.01.15 |
[SW Expert Academy] 2047. 신문 헤드라인 (0) | 2024.01.15 |
[SW Expert Academy] 2050. 알파벳을 숫자로 변환 (0) | 2024.01.15 |