2016년

https://programmers.co.kr/learn/courses/30/lessons/12901#

 

코딩테스트 연습 - 2016년

2016년 1월 1일은 금요일입니다. 2016년 a월 b일은 무슨 요일일까요? 두 수 a ,b를 입력받아 2016년 a월 b일이 무슨 요일인지 리턴하는 함수, solution을 완성하세요. 요일의 이름은 일요일부터 토요일까��

programmers.co.kr

1월 1일에서 가장 가까운 일요일을 잡고 이보다 적거나 많은 날짜의 차를 구해서 7로 나머지 연산을 해서 처리했다.

function solution(a, b) {
    const day = ['SUN','MON','TUE','WED','THU','FRI','SAT'];
    const mon = [0,31,29,31,30,31,30,31,31,30,31,30,31];
    
    let standardDay = 3; //일요일
    let diffDay = b;
    
    for(let i = 1; i < a; i++){
        diffDay += mon[i];
    }
    
    let diff = diffDay - standardDay;
    
    return diff < 0 ? day[(7 + diff)%7] : day[diff%7];
}
728x90
반응형

'Problem Solving' 카테고리의 다른 글

같은 숫자는 싫어  (0) 2020.09.03
가운데 글자 가져오기  (0) 2020.09.02
K번째수 그리고 테스트케이스 2  (0) 2020.09.02
체육복 그리고 테스트케이스 5  (0) 2020.09.02
모의고사  (0) 2020.09.02