내일배움캠프/Java
[프로그래머스 코딩문제] 2016년 - JAVA
ballqs
2024. 7. 15. 17:54
해당 문제를 풀다가 채점에서 테스트케이스 2개 정도 런타임 에러로 틀렸었다.
이유를 알아보니 문제에서는 "SUN","MON","TUE","WED","THU","FRI","SAT" 이렇게 나와 있어서
그대로 코드에 적용해서 동작 시켰기 때문이다.
코드
import java.time.DayOfWeek;
import java.time.LocalDate;
class Solution {
public String solution(int a, int b) {
String answer = "";
// 요일
String yoil[] = {"SUN","MON","TUE","WED","THU","FRI","SAT"};
// 1. LocalDate 생성
LocalDate ymd = LocalDate.of(2016, a, b);
// 2. DayOfWeek 객체 구하기
DayOfWeek yoil_str = ymd.getDayOfWeek();
// 3. 숫자 요일 구하기
int yoil_val = yoil_str.getValue();
answer = yoil[yoil_val];
return answer;
}
}
채점 결과
해당 문제를 파악해본 결과
LocalDate ymd = LocalDate.of("년", "월", "일");
DayOfWeek yoil_str = ymd.getDayOfWeek();
int yoil_val = yoil_str.getValue();
yoil_str.getValue() 는 1 ~ 7까지의 값을 return 한다고 한다.
1이 월요일이고 7이 일요일이였던 것이다.
다음에도 이런 일 없도록 주의하자!!
이에 맞게 코드를 수정했다.
정답 코드
import java.time.DayOfWeek;
import java.time.LocalDate;
class Solution {
public String solution(int a, int b) {
String answer = "";
// 요일 (수정한 코드)
String yoil[] = {"MON","TUE","WED","THU","FRI","SAT","SUN"};
// 1. LocalDate 생성
LocalDate ymd = LocalDate.of(2016, a, b);
// 2. DayOfWeek 객체 구하기
DayOfWeek yoil_str = ymd.getDayOfWeek();
// 3. 숫자 요일 구하기
int yoil_val = yoil_str.getValue();
// -1 처리
answer = yoil[yoil_val - 1];
return answer;
}
}
채점 결과
notion 정리