코딩테스트 문제집/Programmers(Lv1)

[Programmers] Lv1: 2016년(12901)

cogito30 2025. 6. 23. 11:08
반응형

문제

- 링크: https://school.programmers.co.kr/learn/courses/30/lessons/12901

풀이

Java

(solution 1)


JavaScript

(solution 1)

더보기
function solution(a, b) {
    var answer = '';
    const day = ["SUN","MON","TUE","WED","THU","FRI","SAT"]
    const month = [0, 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
    let totalDay = 5 // FRI
    for (let i = 1; i < a; ++i) {
        totalDay += month[i];
    }
    totalDay += b - 1;
    answer = day[totalDay % 7];
    return answer;
}

1) 요일, 월별일수, 시작 요일 변수 선언 및 초기화

- 1월 1일은 금요일이므로 todayDay는 5(Friday)로 실행

2) 월별이수 더하기

3) 남은 일수 더하기

- 1월1일을 제외해야하므로 -1을 더하기

4) 요일개수로 나눠서 요일 반환하기

 

(학습포인트)

- 반복된 로직 처리를 위한 배열 활용

 

반응형