반응형
프로그래머스 문제 2016년
https://school.programmers.co.kr/learn/courses/30/lessons/12901
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
제한 조건- 주의 깊게 볼 것
- 2016년은 윤년입니다.
- 2016년 a월 b일은 실제로 있는 날입니다. (13월 26일이나 2월 45일 같은 날짜는 주어지지 않습니다)
public String solution(int a, int b) {
String[] day = {"FRI", "SAT", "SUN", "MON", "TUE", "WED", "THU"};
// 윤년의 일 수
int[] month = {31,29,31,30,31,30,31,31,30,31,30,31};
int count =-1;
for(int i =0; i<a-1; i++){
count+=month[i];
}
return day[(count+b)%7];
}
}
- day 배열에 SUN가 아닌 FRI을 첫 번째로 둔 이유는 -2016년 1월 1일 실제 금요 일라서 금-토- 일 -월-화 -수-목 이렇게
설정했다.
- month -31,29,31... 설정한 이유? 총 일수 구하기 위해서
- i < a-1을 설정하는 이유: 예를 들어 a가 3월 1~2까지 총 일수 더해야 한다 만약에 a-1을 설정하지 않으면 3월까지 포함되니깐
- 요일 를 구하는 둠스데이 알고리즘 있다. 그거는 조금 더 공부하고 알려 드릴게요!!
-%7: 요일이 7개 밖에서 없어서 그래서 이렇게 설정
반응형
'프로그래머스 문제풀이 Java' 카테고리의 다른 글
분수의 덧셈-java (0) | 2025.01.27 |
---|---|
자연수 뒤집어 배열로 만들기 풀이 (0) | 2024.09.05 |
삼각형의 완성 조건(2) (0) | 2024.08.17 |