코딩 테스트 연습 - 2016(프로그래머스 레벨1)

versatile309·2020년 3월 20일
0

CodingTest

목록 보기
11/11

01. 이해

a 와 b를 받아 2016년 a월 b월의 요일을 반환

02. 계획

2016년 1월 1일은 금요일이다.
윤년이므로 2월은 29일까지 있다.
a 와 b를 통해서 1월 1일부터 몇일이 지났는지를 계산하고 나누기 7한 나머지로 요일을 계산할 수 있을 것 같다.

03. 실행

04. 회고

중간에 삽질을 한번 했는데 1월의 첫날은 '1'일이고 요일 배열의 첫 인덱스는 '0'이다.
그래서 하루씩 계속 어긋났다.
fold의 시작을 -1로 선언해서
'1월 1일은 1월 1일로 부터 0일 지났으므로 인덱스 0인 금요일이다'
라고 구현하니까 해결 되었다.

java를 하던 버릇으로 변수 할당은 사이드 이펙트가 생길 것 같아 자제했는데 어차피 kotlin에서는 val로 선언된 immutable array는 변경이 불가능 하니까 요일과 달 별 날짜 수 배열은 따로 선언해서 빼는게 코드가 더 깔끔할 것 같다는 생각이 뒤늦게 들었다.

0개의 댓글