ballqs 님의 블로그
[프로그래머스 코딩문제] 2016년 - JAVA 본문
해당 문제를 풀다가 채점에서 테스트케이스 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 정리
'내일배움캠프 > Java' 카테고리의 다른 글
TIL - 2024년 08월 01일 - 팀 프로젝트 시작 (0) | 2024.08.01 |
---|---|
TIL - 2024년 07월 19일 공부한 내용 정리하기(int long BigInteger) (0) | 2024.07.19 |
TIL - 2024년 07월 18일 공부한 내용 정리하기(Set) (0) | 2024.07.18 |
TIL - 2024년 07월 17일 공부한 내용 정리하기(for문 수행순서 , toCharArray , StringBuilder) (0) | 2024.07.17 |
TIL - 2024년 07월 16일 공부한 내용 정리하기(소수 로직, 약수 로직, Integer 비교) (0) | 2024.07.16 |