본문 바로가기

공부/프로그래머스

[프로그래머스] 2016년

프로그래머스 문제

<2016년>

2016년 문제

2016년 안에서 월과 일을 주면 그에 맞춰서 요일을 리턴해주는 문제이다. 

1) 2016년이 윤년으로 2월이 29일까지 있다.

이러한 부분을 주의하면서 문제를 풀어야한다. 

2016년 내 답변

예전에 알고리즘 수업에서 요일을 구하는 문제를 풀어던 기억을 더듬어서 풀어보았다. 구하고자하는 월, 일들을 모두 일로 변환해서 그 일수를 일주일인 7로 나눈 나머지를 사용한다. 나머지는 0부터 6까지 나오게 되는데 처음에 1월 1일이 0으로 시작했으니 0으로 떨어지게 되면 금요일, 1이 나머지면 토요일 이런식으로 1월 1일의 요일부터 시작하게 된다.

그러므로, day변수에 금요일부터 일주일을 나열해주었다. 월을 일로 변경해서 일수를 구해야하기에 month변수 안에 월별로 안에 일수를 넣어주었다. 위의 주의해야했던 2월도 잘 넣어주었다.

sum을 사용해서 슬라이싱한 월을 일로 바꾸고 주어진 일을 더해서 일수를 구하고 이를 7로 나누어 나머지를 구했다. 나머지를 다 구했으니 위의 요일들에 적용해서 리턴해주었는데 이 때, 인덱스를 생각해서 -1을 해서 정확한 값을 리턴되게하였다.