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.6 KiB

id, title, challengeType, dashedName
id title challengeType dashedName
68cae5b538ff798bbd4da002 Challenge 64: 24 to 12 29 challenge-64

--description--

Given a string representing a time of the day in the 24-hour format of "HHMM", return the time in its equivalent 12-hour format of "H:MM AM" or "H:MM PM".

  • The given input will always be a four-digit string in 24-hour time format, from "0000" to "2359".

--hints--

to_12("1124") should return "11:24 AM".

({test: () => { runPython(`
from unittest import TestCase
TestCase().assertEqual(to_12("1124"), "11:24 AM")`)
}})

to_12("0900") should return "9:00 AM".

({test: () => { runPython(`
from unittest import TestCase
TestCase().assertEqual(to_12("0900"), "9:00 AM")`)
}})

to_12("1455") should return "2:55 PM".

({test: () => { runPython(`
from unittest import TestCase
TestCase().assertEqual(to_12("1455"), "2:55 PM")`)
}})

to_12("2346") should return "11:46 PM".

({test: () => { runPython(`
from unittest import TestCase
TestCase().assertEqual(to_12("2346"), "11:46 PM")`)
}})

to_12("0030") should return "12:30 AM".

({test: () => { runPython(`
from unittest import TestCase
TestCase().assertEqual(to_12("0030"), "12:30 AM")`)
}})

--seed--

--seed-contents--

def to_12(time):

    return time

--solutions--

def convert_hours(hours):
    if hours == 0:
        return 12
    elif hours > 12:
        return hours - 12
    else:
        return hours

def to_12(time):
    hours = int(time[:2])
    minutes = time[2:]
    period = "AM" if hours < 12 else "PM"

    return f"{convert_hours(hours)}:{minutes} {period}"