
문제: 22220101 -> 2222/01/01 로 바꿔준다.
조건1 : 년월에 어긋나는 날은 -1 로 출력한다.
조건2 : 윤년은 제외하고 평년으로만 한다.
package test;
import java.io.IOException;
import java.util.Scanner;
public class Main {
static int [] day = {31,28,31,30,31, 30,31,31,30,31, 30,31};
public static void main(String[] args) throws IOException {
int [] day = {31,28,31,30,31, 30,31,31,30,31, 30,31};
String yyyy;
int mm;
String s_mm;
int dd;
String s_dd;
Scanner sc = new Scanner(System.in);
String input = sc.next();
yyyy=input.substring(0, 4);
mm=Integer.parseInt(input.substring(4, 6));
dd=Integer.parseInt(input.substring(6, 8));
if(mm>0&&mm<13&&dd>0&&dd<=day[mm-1]) {
s_mm=Integer.toString(mm);
s_dd=Integer.toString(dd);
if(mm<10) {
s_mm="0"+Integer.toString(mm);
}
if(dd<10) {
s_dd="0"+Integer.toString(dd);
}
System.out.println(yyyy+"/"+s_mm+"/"+s_dd);
}else {
System.out.println("-1");
}
}
}
문제해결
1. 달은 1~12 사이의 수이면서 일은 달에 따라 달라진다
2. 일에 대해서는 배열에 각 월의 최대수를 미리 입력해놓는다
3. 1자리수의 월과 일은 앞에 0을 붙여준다.
'알고리즘(종합) > Lv.1' 카테고리의 다른 글
2072 - 홀수만 더하기 (0) | 2022.11.10 |
---|---|
Do it - 기본 자료구조 (0) | 2022.11.10 |