https://programmers.co.kr/learn/courses/30/lessons/12901
2016년 1월 1일은 금요일이라는 힌트를 가지고 시작했다.
금요일이라는 힌트 때문에 day 배열을 "FRI","SAT","SUN","MON","TUE","WED","THU" 순으로 작성했다.
2016년은 윤년이라고 했으므로 2월은 29일까지 있다.
result 변수에 a달 전까지의 date를 더해준다.
그리고 result에 b를 더해주는데 1월 1일을 포함하기 위해 -1을 해준다.
마지막으로 day의 인덱스를 result를 7로 나눈 나머지 값으로 해서 요일을 구한다.
[내 코드]
public static String solution(int a, int b) {
String answer = "";
String[] day = {"FRI","SAT","SUN","MON","TUE","WED","THU"};
int[] date = {31,29,31,30,31,30,31,31,30,31,30,31};
int result = 0;
for(int i=0; i<a-1; i++) {
result += date[i];
}
result += b-1;
answer = day[result % 7];
return answer;
}
[다른 사람의 풀이]
자바를 잘 활용한 코드인 것 같아서 가져왔습니다. 이렇게 쓸 수 있을 정도로 자바를 익히고 싶네요
import java.time.*;
class Solution {
public String solution(int a, int b) {
return LocalDate.of(2016, a, b).getDayOfWeek().toString().substring(0,3);
}
}
'알고리즘 > 프로그래머스' 카테고리의 다른 글
[프로그래머스] 폰켓몬_자바 (0) | 2022.11.25 |
---|---|
[프로그래머스]연습문제>제일 작은 수 제거하기 Java (0) | 2021.06.30 |
[프로그래머스]Summer/Winter Coding(~2018)>예산 Java (0) | 2021.06.29 |
[프로그래머스]2019카카오개발자겨울 인턴십>크레인 인형뽑기 게임 Java (0) | 2021.06.28 |
[프로그래머스]탐욕법>체육복 Java (0) | 2021.06.28 |