Given a string that consists entirely of printable ASCII, convert all lowercase letters to their uppercase equivalent. Non-lowercase characters are left untouched.
I am not going to outright ban builtin solutions, but if you are going to post a solution that uses the builtin, please also post one that doesn't in your answer.
This is a code-golf so shortest code wins, standard rules apply.
Test cases
input => output
Hello, World! => HELLO, WORLD!
TEST => TEST
1gN0r3 50M3 cH4r4C73r5 => 1GN0R3 50M3 CH4R4C73R5
GOOD LUCK GOLFERS!
a=>a.replace(/[A-Z]/g,a=>parseInt(a,36).toString(36))
\$\endgroup\$