Files
wehub-resource-sync dde272c4b8
i18n - Build Validation / Validate i18n Builds (24) (push) Has been cancelled
CI - Node.js / Lint (24) (push) Has been cancelled
CI - Node.js / Build (24) (push) Has been cancelled
CI - Node.js / Test (24) (push) Has been cancelled
CI - Node.js / Test - Upcoming Changes (24) (push) Has been cancelled
CI - Node.js / Test - i18n (italian, 24) (push) Has been cancelled
CI - Node.js / Test - i18n (portuguese, 24) (push) Has been cancelled
CD - Docker - GHCR Images / Build and Push Images (push) Has been cancelled
chore: import upstream snapshot with attribution
2026-07-13 11:55:53 +08:00

1.4 KiB

id, title, challengeType, dashedName
id title challengeType dashedName
69cfca90e8a0a6d4d6871c50 Challenge 266: Good Day 28 challenge-266

--description--

Given a time string in "HH:MM" format (24-hour clock), return:

  • "Good morning" for times 05:00 to 11:59
  • "Good afternoon" for times 12:00 to 17:59
  • "Good evening" for times 18:00 to 21:59
  • "Good night" for times 22:00 to 04:59

--hints--

getGreeting("06:30") should return "Good morning".

assert.equal(getGreeting("06:30"), "Good morning");

getGreeting("12:00") should return "Good afternoon".

assert.equal(getGreeting("12:00"), "Good afternoon");

getGreeting("21:59") should return "Good evening".

assert.equal(getGreeting("21:59"), "Good evening");

getGreeting("00:01") should return "Good night".

assert.equal(getGreeting("00:01"), "Good night");

getGreeting("11:30") should return "Good morning".

assert.equal(getGreeting("11:30"), "Good morning");

--seed--

--seed-contents--

function getGreeting(time) {

  return time;
}

--solutions--

function getGreeting(time) {
  const [hours, minutes] = time.split(':').map(Number);
  const total = hours * 60 + minutes;

  if (total >= 300 && total < 720) return 'Good morning';
  if (total >= 720 && total < 1080) return 'Good afternoon';
  if (total >= 1080 && total < 1320) return 'Good evening';
  return 'Good night';
}