curriculum/challenges/english/blocks/daily-coding-challenges-javascript/69738771fb5a7b8b24cca2a0.md
Given a date string in the format "YYYY-MM-DD", return the zodiac sign for that date using the following chart:
| Date Range | Zodiac Sign |
|---|---|
| March 21 - April 19 | "Aries" |
| April 20 - May 20 | "Taurus" |
| May 21 - June 20 | "Gemini" |
| June 21 - July 22 | "Cancer" |
| July 23 - August 22 | "Leo" |
| August 23 - September 22 | "Virgo" |
| September 23 - October 22 | "Libra" |
| October 23 - November 21 | "Scorpio" |
| November 22 - December 21 | "Sagittarius" |
| December 22 - January 19 | "Capricorn" |
| January 20 - February 18 | "Aquarius" |
| February 19 - March 20 | "Pisces" |
getSign("2026-01-31") should return "Aquarius".
assert.equal(getSign("2026-01-31"), "Aquarius");
getSign("2001-06-10") should return "Gemini".
assert.equal(getSign("2001-06-10"), "Gemini");
getSign("1985-09-07") should return "Virgo".
assert.equal(getSign("1985-09-07"), "Virgo");
getSign("2023-03-19") should return "Pisces".
assert.equal(getSign("2023-03-19"), "Pisces");
getSign("2045-11-05") should return "Scorpio".
assert.equal(getSign("2045-11-05"), "Scorpio");
getSign("1985-12-06") should return "Sagittarius".
assert.equal(getSign("1985-12-06"), "Sagittarius");
getSign("2025-12-30") should return "Capricorn".
assert.equal(getSign("2025-12-30"), "Capricorn");
getSign("2018-10-08") should return "Libra".
assert.equal(getSign("2018-10-08"), "Libra");
getSign("1958-05-04") should return "Taurus".
assert.equal(getSign("1958-05-04"), "Taurus");
function getSign(dateStr) {
return dateStr;
}
function getSign(dateStr) {
const [, monthStr, dayStr] = dateStr.split("-");
const month = Number(monthStr);
const day = Number(dayStr);
if ((month === 3 && day >= 21) || (month === 4 && day <= 19)) return "Aries";
if ((month === 4 && day >= 20) || (month === 5 && day <= 20)) return "Taurus";
if ((month === 5 && day >= 21) || (month === 6 && day <= 20)) return "Gemini";
if ((month === 6 && day >= 21) || (month === 7 && day <= 22)) return "Cancer";
if ((month === 7 && day >= 23) || (month === 8 && day <= 22)) return "Leo";
if ((month === 8 && day >= 23) || (month === 9 && day <= 22)) return "Virgo";
if ((month === 9 && day >= 23) || (month === 10 && day <= 22)) return "Libra";
if ((month === 10 && day >= 23) || (month === 11 && day <= 21)) return "Scorpio";
if ((month === 11 && day >= 22) || (month === 12 && day <= 21)) return "Sagittarius";
if ((month === 12 && day >= 22) || (month === 1 && day <= 19)) return "Capricorn";
if ((month === 1 && day >= 20) || (month === 2 && day <= 18)) return "Aquarius";
if ((month === 2 && day >= 19) || (month === 3 && day <= 20)) return "Pisces";
}