문제
풀이
(1) 문제 분석하기
- 각 요일을 배열로 선언
- 전체 월의 마지막일을 배열로 선언(1일은 금요일이므로 index 1이 금요일이 될 수 있게)
- 입력받은 날짜까지의 총 일수를 계산하고 7로 나눈 나머지로 요일 배열에 index로 접근
(2) 슈도코드 작성하기
요일 배열 선언
전체 월의 마지막일 배열 선언
for(입력 받은 월 - 1 만큼) {
전체 월의 마지막 일 배열 돌면서 총일수 구하기
}
총일수에 b를 더하고 7로 나눈 값을 int형 변수에 담기
int형 변수로 요일 배열에 index로 접근하여 출력
(3) 코드 구현하기
package algorithm.test01;
public class YearOf2016 {
public static void main(String[] args) {
// 요일 배열 만들고
// 일수 배열 만들고
// 받은 월만큼 일수 더하고 일수도 같이 더해서
// 7로 나눠서 나온 나머지로 배열 인덱스 접근
int a = 5;
int b = 24;
System.out.println(solution(a, b));
}
public static String solution(int a, int b) {
String answer = "";
String[] week = {"THU", "FRI", "SAT", "SUN", "MON", "TUE", "WED"}; // 금요일이 1일
int[] monthOfDay = {31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
int days = 0;
for (int i = 0; i < (a - 1); i++) {
days += monthOfDay[i];
}
int weekIndex = (days + b) % 7;
answer = week[weekIndex];
return answer;
}
}
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
'📊 Algorithm&SQL' 카테고리의 다른 글
[Java/프로그래머스] 수박수박수박수박수박수? (0) | 2022.11.19 |
---|---|
[Java/프로그래머스] 나누어 떨어지는 숫자 배열 (0) | 2022.11.19 |
[Java/백준] 주몽 #1940 (0) | 2022.10.12 |
[Java/백준] 연속된 자연수의 합 구하기 #2018 (0) | 2022.10.03 |
[Java/백준] 구간 합 구하기 #11659 (1) | 2022.10.01 |