마리는 시간 여행을 하기 위해 타임머신을 발명했고, 1700년부터 2700년 사이의 어느 해에 러시아를 방문하여 프로그래머의 날(해당 연도의 256번째 날)을 경험하고자 합니다. 두 달력 시스템 모두 2월은 유일하게 일수가 변하는 달로, 윤년에는 29일, 그 외의 해에는 28일입니다. 줄리안 달력에서는 4로 나누어 떨어지는 해가 윤년이고, 그레고리안 달력에서는 다음 중 하나에 해당하는 해가 윤년입니다.
- 400으로 나누어 떨어짐.
- 4로 나누어 떨어지고 100으로 나누어 떨어지지 않음.
풀이 :
function dayOfProgrammer(year) {
const isLeapYear = (year) => {
if (year < 1918) {
return year % 4 === 0;
} else {
return (year % 400 === 0) || (year % 4 === 0 && year % 100 !== 0);
}
};
if (year === 1918) {
return "26.09.1918";
}
if (isLeapYear(year)) {
return `12.09.${year}`;
} else {
return `13.09.${year}`;
}
}
주어진 연도에 대해 윤년 여부를 판단하고, 그에 따라 256번째 날이 되는 날짜를 계산하여 반환합니다. 1918년의 경우는 달력 변경으로 인해 특별히 처리합니다.
'Fundamentals > Algorithms' 카테고리의 다른 글
[해커랭크] Sales by Match (0) | 2023.12.05 |
---|---|
[해커랭크] Bill Division (0) | 2023.12.05 |
[해커랭크] Migratory Birds (0) | 2023.12.04 |
[해커랭크] Divisible Sum Pairs (0) | 2023.12.04 |
[해커랭크] Subarray Division (0) | 2023.12.04 |