잿꽃's posting Garden

프로그래머스에서 코딩테스트 연습6 - 2016년 요일 구하기 본문

WEB/코딩테스트 연습

프로그래머스에서 코딩테스트 연습6 - 2016년 요일 구하기

잿꽃 2022. 5. 17. 01:38

 

월과 일을 입력하면 해당하는 요일을 출력한다.

 

ex) 5월 24일은 TUE

 

 

요일을 일, 월, 화, 수, 목, 금, 토, 일 순서로 배열에 담았다.

월에는 달의 일 수를 0, 31, 29, 31, 30...로 담았다.

1월 1일은 0(월) + 1(일)로 값이 나와야 하므로 월에 0이 맨 처음에 들어갔고 12월은 사실상 필요가 없기 때문에 제거했다.

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];
    let sum = 0;
    for(let i = 0; i < a; i++){
        sum += month[i];
    }
    sum += b;
    answer = day[(sum+4)%7];
    return answer;
}

4월이면 1~3월까지 더하고 일 수를 더한다.

코딩하다가 중간에 시간이 오래걸렸는데 어이없게도 일 수를 그냥 더하면 되는데 1일부터 해당 일수까지 전체 더했다;

console.log()로 확인해보니 엄청나게 큰 수가 나와서 뭔가 했더니 일 수를 모두 더했다....

 

1월 1일이 금요일이라고 했으니 answer에서 sum = 1일 때를 가정해서 코드를 작성했다. 

728x90
Comments