[level 1] 2016년

2022. 1. 26. 10:22·알고리즘/JavaScript

문제

 

풀이 코드

function solution(a, b) {
    const monthDays = [31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
    const weekDay = ['FRI','SAT','SUN','MON','TUE','WED','THU'];
    let days = 0;
    for (let i = 0; i < a - 1; i++)
        days += monthDays[i];
    days += b;
    
    const checkDay = days % 7 - 1
    return weekDay[checkDay < 0 ? 6 : checkDay];
}

 

풀이 과정

우선, 각 달마다 일수를 monthDays 배열에 담아 주었다,

그리고 요일의 정보를 weekDay 배열에 담아 주었다.

 

문제가 1월 1일부터 시작이니, days 변수에

입력된 월과 일을 계산하여, 해당 일자 까지의 총 일수를 더해주었고,

 

해당 일수를 7로 나누었을때 나머지값에 해당하는 부분이 해당 요일이 되기 때문에

index 접근을 위해 - 1을 해주었다.

 

지금 이 글을 적으면서 생각한건데, 요일 정보의 배열을 THU 부터 시작하면 굳이 -1 을 하지 않아도 됐을거같다.

그러면 마지막에 인덱스 범위 넘어갔을때 처리하는 로직을 굳이 하지 않아도 됐는데,

 

문제를 풀고나서 한번더 코드를 보며 생각을 해봐야 할것 같다!

 

다른사람의 풀이

function getDayName(a,b){
  var date = new Date(2016, (a - 1), b);
    return date.toString().slice(0, 3).toUpperCase();
}

date 객체를 이용할수도 있었다

대박!

'알고리즘/JavaScript' 카테고리의 다른 글
  • [level 1] 약수의 개수와 덧셈
  • [level 1] 두 개 뽑아서 더하기
  • [level 1] 최소직사각형
  • [level 1] 부족한 금액 계산하기
Jeohong
Jeohong
기억 보단 기록을
  • Jeohong
    Chikong Devlog
    Jeohong
  • 전체
    오늘
    어제
    • 분류 전체보기 (185)
      • ---- 개발 컨텐츠 ---- (0)
      • iOS (30)
        • Swift 문법 (1)
        • iOS 개념 (12)
        • HIG (5)
        • SwiftUI (7)
        • UIKit (4)
      • Side Project (0)
      • 개발서적 (4)
        • 객체지향 사실과 오해 (4)
      • 알고리즘 (73)
        • 자료구조 개념 (2)
        • Swift (24)
        • JavaScript (47)
      • ---- 회고 계획 컨텐츠 ---- (0)
      • 계획 및 일기 (10)
      • 회고록 (1)
      • 컨퍼런스 탐방 (1)
      • 미드로 영린이 탈출하기 (1)
      • ---- Previous content ---- (0)
      • Frontend (2)
        • HTML & CSS (2)
      • KITRI 수업 (17)
        • 리눅스 (14)
        • 네트워크 (2)
      • 42seoul (17)
        • Bonr2code (9)
        • 넋두리 (7)
        • 멘토특강 (1)
      • 해킹 실습 (20)
        • 해커스쿨 - F.T.Z (19)
        • WebGoat (1)
      • Tensorflow로 시작하는 NLP (1)
        • 예제 (1)
      • 자연어처리 입문 (1)
        • 이론 (1)
      • 텐서플로로 배우는 딥러닝 (7)
        • 이론 (2)
        • 예제 (5)
  • 블로그 메뉴

    • 홈
    • 태그
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    hig
    프로그래머스
    IOS
    스위프트
    42서울
    자료구조
    본과정
    Algorithm
    개발자
    라피신
    javascript
    1서클
    알고리즘
    백준
    SwiftUI
    네트워크
    swift
    코딩
    boj
    42seoul
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.4
Jeohong
[level 1] 2016년
상단으로

티스토리툴바