자바스크립트/활용

자바스크립트 활용2

whatd0udo 2024. 2. 22. 15:28

문제42 :  2020년 a월 b일은 무슨 요일일까요?

2020년 1월 1일은 수요일입니다. 2020년 a월 b일은 무슨 요일일까요?
두 수 a, b를 입력받아 2020년 a월 b일이 무슨 요일인지 리턴하는 함수 solution을 완성하세요.
요일의 이름은 일요일부터 토요일까지 각각 SUN, MON, TUE, WED, THU, FRI, SAT 입니다.

예를 들어 a = 5, b = 24라면 5월 24일은 일요일이므로 문자열 "SUN"를 반환하세요.

제한 조건 2020년은 윤년입니다. 2020년 a월 b일은 실제로 있는 날입니다. (13월 26일이나 2월 45일 같은 날짜는 주어지지 않습니다.)

 

로직 과정

1. 입력받기 : 2020년 a월 b일이 무슨요일인지 알아내기위해 a월 b일을 입력받는다

 

2.date 객체 생성 : date 객체의 월은 0부터 시작함으로 a월을 나타내기 위해서 a-1을 해야한다

 

3. 요일 계산 : 생성된 date 객체에 대해 getDay() 메소드를 호출하여 그 주 요일을 숫자로 얻는다 

-> 반환값은 0 ~ 6 ( 일요일 ~ 토요일)까지 정수이다.

 

4. 요일 매핑 : 반환된 숫자 요일의 이름으로 매핑한다. 이를 위해 이름이 저장된 배열을 사용한 후 getDay() 메소드로부터 얻은 숫자를 인덱스로 사용하여 해당 요일의 이름을 배열에서 찾는다.

5. 결과 반환: 매핑된 요일의 이름을 문자열로 반환한다.

<!DOCTYPE html>
<html>
<head>
    <title>요일 계산 결과</title>
</head>
<body>
    <div id="result"></div>

    <script>
        // solution 함수 정의
        function solution(a, b) {
            const dayNames = ["SUN", "MON", "TUE", "WED", "THU", "FRI", "SAT"];
            const date = new Date(2020, a - 1, b);
            const dayIndex = date.getDay();
            return dayNames[dayIndex];
        }

        // 함수 호출 및 결과 저장
        var result = solution(5, 24);

        // 결과를 HTML 요소에 표시
        document.getElementById('result').innerText = result;
    </script>
</body>
</html>