코린이의 소소한 공부노트

[LeetCode/Easy] 1507. Reformat Date 본문

코딩테스트 풀이/JAVA

[LeetCode/Easy] 1507. Reformat Date

무지맘 2022. 12. 27. 00:32

1. Input

1) 날짜를 담은 문자열 변수 date

- date의 형식: Day Month Year

- Day = {“1st”, “2nd”, .., “31st”}

- Month = {"Jan", "Feb", "..., "Dec"}

- Year의 범위: [1900, 2100]

 

2. Output

1) date의 날짜를 YYYY-MM-DD 형식으로 변환한 문자열

 

3. Constraint

1) 유효한 날짜만 date에 들어갈 수 있다.

 

4. Example

Input: date = "20th Oct 2052" -> Output: "2052-10-20"

 

5. Code

1) 첫 코드(2022/07/30)

String[] d = date.split(" "); // Day Month Year
String[] m = {"Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"};
String output = d[2] + "-"; // output = "YYYY-"
for(int i=0 ; i<12 ; i++)
    if(d[1].equals(m[i])){
        i++;
        if(i<10) output += "0" + i + "-";
        else output += + i + "-";
        break;
    } // output = "YYYYY-MM-"

if(d[0].length()==3)
    output += "0" + d[0].charAt(0) + "";
else
    output += d[0].substring(0,2);

return output;