문제 ]
a와 b 정수 값을 입력 받아 2016년 a월 b일의 요일을 리턴한다.
코드1 ]
import java.util.*;
import java.text.*;
import java.text.*;
class Solution {
public String solution(int a, int b) {
String answer = "";
String aa = String.valueOf(a);
String bb = String.valueOf(b);
String[] week = {"SUN","MON","TUE","WED","THU","FRI","SAT"};
if(aa.length() < 2){
aa = '0' + aa;
}
if(bb.length() < 2){
bb = '0' + bb;
}
String input_date = "2016"+aa+bb;
DateFormat date_format = new SimpleDateFormat("yyyyMMdd");
Date get_date = new Date();
try{
get_date = date_format.parse(input_date);
}catch(ParseException e){
e.printStackTrace();
}
Calendar calendar = Calendar.getInstance();
calendar.setTime(get_date);
int idx = calendar.get(Calendar.DAY_OF_WEEK)-1;
answer = week[idx];
return answer;
}
}
코드2]
자바 8에서는 Calendar클래스의 단점들을 보완하는 LocalDate클래스가 등장한다.
아래 코드는 코드1과 같은 결과다.
import java.time.*;
class Solution {
public String solution(int a, int b) {
return LocalDate.of(2016, a, b).getDayOfWeek().toString().substring(0,3);
}
}
LocalDate 클래스 참조 :
https://jeong-pro.tistory.com/163
댓글 없음:
댓글 쓰기