공부/알고리즘&자료구조

항해99 문제13번풀이 (2016년 5월24일 요일 가져오기,프로그래머스)

youngble 2021. 11. 8. 15:12

 

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줄. solution함수에 a,b를 파라미터로 사용

 3줄. 요일을 week 이라는 변수에 array 형태로 영어 요일 저장.

 4줄. new Date() 사용 원하는 특정 날짜 가져옴 이때 우리는 2016년 5월24 이므로 년도는 고정으로 2016 쓰고 뒤에는 a,b 로 전달인            자로 받는다. 단지 월에 해당하는 a는 0부터 1월로 계산되어 숫자 5를 넣으면 6월로 계산된다 따라서 우리가 원하는 숫자를 넣는대로         월수가 나오게 하기위해서 -1 을 해준다

 5줄. getDay() 를 사용하여 요일을 숫자로 변형해준다 (숫자는 0부터 6까지, 일요일부터 토요일까지를 나타낸다) week[] array에 해당 요일의 수가 들어가면 그 인덱스의 값을 return 해준다. 

 

 

다른풀이: 다른사람들이 했던것

 

더보기

1.

내가 짠것과 똑같지만 new Date() 부분에서 `` 백틱을 사용하여 인자 a,b를 ${} 받아주었다.

 

2. 

 toString()과 slice() 를 사용, 해당 요일을 대문자로 출력하기위해 toUpperCase() 를 사용.

(이 코드는 아직 따로 찾아보지않아서 무슨 메서드인지 알아야한다: toString)