[코딩테스트 연습] 프로그래머스 2016년 자바스크립트 풀이

2022. 3. 14. 12:44· 알고리즘
목차
  1. 문제 설명
  2. 제한 조건
  3. 초기 코드
  4. 코드 풀이 설명
  5. 백틱( ` ` )과 달러( ${  } ) 사용법 : 자바스크립트 템플릿 리터럴
  6. Date 생성 방법
  7. 프로그래머스 코딩테스트 연습 - 2016년
  8. 프로그래머스 코딩테스트 연습 - 다른 문제 풀이(자바스크립트)
반응형

문제 설명


2016년 1월 1일은 금요일입니다. 2016년 a월 b일은 무슨 요일일까요?
두 수 a ,b를 입력받아 2016년 a월 b일이 무슨 요일인지 리턴하는 함수, solution을 완성하세요.
요일의 이름은 일요일부터 토요일까지 각각 SUN,MON,TUE,WED,THU,FRI,SAT
입니다.
예를 들어 a=5, b=24라면 5월 24일은 화요일이므로 문자열 "TUE"를 반환하세요.


제한 조건

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

초기 코드

function solution(a, b) {
    var answer = '';
    return answer;
}

코드 풀이 설명

function solution(a, b) {
    // week라는 변수에 일요일부터 토요일까지의 요일을 넣어준다.
    let week = ['SUN', 'MON', 'TUE', 'WED', 'THU', 'FRI', 'SAT'];
   
    // ``을 사용하게 되면 ${ } 사이에 변수나 연산 등을 삽입할 수 있게 된다.
    let date = new Date(`2016-${a}-${b}`);

	// getDay()함수는 날짜의 요일을 받아오는 함수로 일요일부터 토요일까지 0부터 6을 반환
    let day = date.getDay();
    
    // 최종 결과는 week의 [i]번째 인덱스를 리턴
    return week[day];
}

// console.log(solution(5, 24))
  • 먼저 week라는 변수에 일요일부터 토요일까지를 담아준다
  • 두번째로 new Date 함수를 통해 날짜를 입력해준다.
  • 여기서 ``(백틱)을 사용하게 되는데 ``을 사용하게 될 경우 ${}안에 받아온 변수나 연산 등을 삽입할 수 있게된다.
  • 날짜를 받아왔다면 요일을 받아오는 함수인 getDay() 함수를 이용하여 요일을 알아낸다.
  • getDay() 함수는 일요일부터 토요일까지를 각각의 숫자인 0부터 6까지로 반환한다.
  • 최종적으로 week[day]를 리턴하게 되면 day 안에 0부터 6까지의 숫자가 담기면서 week의 [  ]번째 인덱스를 출력할 수 있게 된다.

백틱( ` ` )과 달러( ${  } ) 사용법 : 자바스크립트 템플릿 리터럴

템플릿 리터럴은 ES6부터 새로 도입된 문자열 표기법으로 문자열을 생성하 때 따옴표 대신 백틱(``)을 이용할 수 있다.

템플릿 리터럴의 기능

  • 백틱으로 띄어쓰기나 줄바꿈이 가능해진다
  • ${ } 안에 변수나 연산 등을 삽입할 수 있게된다.
  • 기존의 따옴표 방식에서는 + 연산자로 여러번 이어붙여야 했다면 `` 안에서는 그럴 필요가 없다.
// 기존 코드
let item = "우산"
let price = 5000

console.log(item + "의 가격은" + " " + price + "원 입니다.") // 우산의 가격은 5000원 입니다.

// 백틱과 달러 사용
let item = "우산"
let price = 5000

console.log(`${item}의 가격은 ${price}입니다.`) // 우산의 가격은 5000원 입니다.

Date 생성 방법

  1.  new Date()
    • () 안에 아무런 인수를 전달하지 않으면 현재 날짜와 시간을 리턴
  2.  new Date("날짜를 나타내는 문자열")
    • 인수로 날짜를 나타내는 문자열을 전달하면 날짜와 시간을 나타내는 인스턴스를 리턴
  3.  Date 생성 시 사용 가능한 날짜 양식
    • ISO 날짜 양식 : YYYY-MM-DDTHH:MM:SS
    • Long 날짜 양식 : MMM DD YYYY / DD MMM YYYY
    • Short 날짜 양식 : MM DD YYYY / YYYY MM DD
    • Full 날짜 양식 : Thu Mar 14 2022 13:32:00 GMT+0900 (대한민국 표준시)

프로그래머스 코딩테스트 연습 - 2016년

 

코딩테스트 연습 - 2016년

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

programmers.co.kr


프로그래머스 코딩테스트 연습 - 다른 문제 풀이(자바스크립트)

 

[코딩테스트 연습] 행렬의 덧셈 javascript

문제 설명 행렬의 덧셈은 행과 열의 크기가 같은 두 행렬의 같은 행, 같은 열의 값을 서로 더한 결과가 됩니다. 2개의 행렬 arr1과 arr2를 입력받아, 행렬 덧셈의 결과를 반환하는 함수를 완성하시

choijying21.tistory.com

 

[코딩테스트 연습] 부족한 금액 계산하기 javascript

문제 설명 새로 생긴 놀이기구는 인기가 매우 많아 줄이 끊이질 않습니다. 이 놀이기구의 원래 이용료는 price원 인데, 놀이기구를 N 번 째 이용한다면 원래 이용료의 N배를 받기로 하였습니다. 즉

choijying21.tistory.com

 

반응형
저작자표시 비영리 동일조건 (새창열림)
  1. 문제 설명
  2. 제한 조건
  3. 초기 코드
  4. 코드 풀이 설명
  5. 백틱( ` ` )과 달러( ${  } ) 사용법 : 자바스크립트 템플릿 리터럴
  6. Date 생성 방법
  7. 프로그래머스 코딩테스트 연습 - 2016년
  8. 프로그래머스 코딩테스트 연습 - 다른 문제 풀이(자바스크립트)
'알고리즘' 카테고리의 다른 글
  • [코딩테스트 연습] 문자열 다루기 기본 자바스크립트 풀이
  • [코딩테스트 연습] 나누어 떨어지는 숫자 배열 자바스크립트 풀이
  • [코딩테스트 연습] 행렬의 덧셈 javascript
  • [코딩테스트 연습] 부족한 금액 계산하기 javascript
도잎
도잎
프론트엔드 개발 성장기록
도잎
JDevelog
도잎
전체
오늘
어제
반응형
  • 분류 전체보기 (149)
    • Web dev (48)
      • React (22)
      • Vue (8)
      • Next.js (6)
      • Node.js (2)
      • Springboot (2)
    • App dev (2)
      • Flutter (2)
    • Language (33)
      • javascript (30)
      • typescript (2)
      • java (1)
    • StyleSeet (3)
      • CSS (3)
      • Sass (0)
    • Database (2)
      • PostgreSQL (1)
    • DevOps (11)
      • Webpack (4)
      • Linux (3)
      • Docker (2)
      • Tomcat (1)
    • 개발지식 (2)
      • Web (1)
    • 항해99(6기) (20)
    • UXUI (0)
    • 알고리즘 (25)
    • 유용정보 (2)

최근 글

hELLO · Designed By 정상우.v4.2.1
도잎
[코딩테스트 연습] 프로그래머스 2016년 자바스크립트 풀이
상단으로

티스토리툴바

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.