반응형
12901번
https://programmers.co.kr/learn/courses/30/lessons/12901?language=java
코딩테스트 연습 - 2016년
2016년 1월 1일은 금요일입니다. 2016년 a월 b일은 무슨 요일일까요? 두 수 a ,b를 입력받아 2016년 a월 b일이 무슨 요일인지 리턴하는 함수, solution을 완성하세요. 요일의 이름은 일요일부터 토요일까
programmers.co.kr
풀이
✔️ 윤년이란 2월이 29일까지 있는 날입니다.
- 풀이1
public String solution2(int a, int b) {
String[] days = { "THU", "FRI", "SAT", "SUN", "MON", "TUE", "WED" };
int[] numberOfDays = { 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };
int numberOfDaysSum = 0;
for(int i=0; i<a-1; i++) {
numberOfDaysSum += numberOfDays[i];
}
numberOfDaysSum += b;
return days[numberOfDaysSum % 7];
}
✅ days
: 2016년 1월 1일은 금요일인데, 이것도 하루 지났다고 쳐야 합니다. 그래서 0번째 인덱스는 목요일인 "THU"
4월 25일로 가정하면
1월(31), 2월(29), 3월(31), 4월(30) 해당 일을 모두 더하고
25일을 추가로 더합니다.
이후 일주일은 7일이므로 7로 나눈 나머지는 요일이 됩니다.
✔️ 테스틐 케이스 처리속도: 0.02ms
반응형
'Algorithm > Java' 카테고리의 다른 글
프로그래머스 - 예산 java :: Summer/Winter Coding(~2018) :: 12982 (0) | 2022.07.04 |
---|---|
프로그래머스 - 두 개 뽑아서 더하기 java :: 월간 코드 챌린지 시즌1 :: 68644 (0) | 2022.07.04 |
프로그래머스 - 나머지가 1이 되는 수 찾기 java :: 월간 코드 챌린지 시즌3 (0) | 2022.07.02 |
프로그래머스 - [1차] 비밀지도 java :: 2018 KAKAO BLIND RECRUITMENT (0) | 2022.07.02 |
프로그래머스 [1차] 다트 게임 java :: 2018 KAKAO BLIND RECRUITMENT (0) | 2022.07.01 |