✔ 2016년
문제 분석하기
실제로 있는 날만 주어지므로 LocalDate를 이용해 그 날의 요일을 찾고, 요일에 맞도록 요일의 이름을 출력하도록 함
MONDAY(1), TUESDAY(2), WEDNESDAY(3), THURSDAY(4), FRIDAY(5), SATURDAY(6), SUNDAY(7)
손으로 풀어보기
- 2016년 a월 b일의 요일 찾기
- 요일에 맞도록 요일의 이름을 출력
- 문자열 배열에서 dayOfWeek - 1의 값을 출력
슈도코드 작성하기
a, b(월, 일)
week(요일 값을 담은 문자열 배열)
localDate(2016년 a월 b일)
dayOfWeek(2016년 a월 b일의 요일 값 - 1)
week[datOfWeek 반환]
코드 구현하기
/**
* 12901) 2016년
*/
public class L002_12901 {
// a, b(월, 일)
public String solution(int a, int b) {
// week(요일 값을 담은 문자열 배열)
String week[] = { "MON", "TUE", "WED", "THU", "FRI", "SAT", "SUN" };
// localDate(2016년 a월 b일)
LocalDate localDate = LocalDate.of(2016, a, b);
// dayOfWeek(2016년 a월 b일의 요일 값 - 1)
int dayOfWeek = localDate.getDayOfWeek().getValue() - 1;
// week[datOfWeek 반환]
return week[dayOfWeek];
}
// 테스트 케이스
public static void main(String[] args) {
L002_12901 solution = new L002_12901();
int a = 5;
int b = 24;
String result = solution.solution(a, b);
System.out.println(result);
}
}
'Coding Test > Java 알고리즘 실전' 카테고리의 다른 글
[12910] 나누어 떨어지는 숫자 배열 (0) | 2023.12.25 |
---|---|
[12903] 가운데 글자 가져오기 (0) | 2023.12.25 |
[77484] 로또의 최고 순위와 최저 순위 (0) | 2023.12.19 |
[77884] 약수의 개수와 덧셈 (0) | 2023.12.19 |
[81301] 숫자 문자열과 영단어 (0) | 2023.12.19 |