Сложность: easy
Десятичное число можно преобразовать в его шестнадцатеричное представление, сначала преобразовав его в прописную шестнадцатеричную строку, а затем заменив все вхождения цифры '0' на букву 'O', а цифры '1' - на букву 'I'. Такое представление допустимо тогда и только тогда, когда оно состоит только из букв набора {'A', 'B', 'C', 'D', 'E', 'F', 'I', 'O'}. Получив строку num, представляющую десятичное целое число n, верните шестнадцатеричное представление n, если оно допустимо, иначе верните "ERROR".
Пример:
Input: num = "257"
Output: "IOI"
👨💻 Алгоритм:
1⃣Преобразуйте десятичное число в шестнадцатеричную строку в верхнем регистре.
2⃣Замените все вхождения цифры '0' на букву 'O', а цифры '1' на букву 'I'
3⃣Проверьте, что преобразованная строка содержит только допустимые символы. Если это так, верните строку, иначе верните "ERROR".
😎 Решение:
function toHexString(num) {
let hexStr = parseInt(num, 10).toString(16).toUpperCase().replace(/0/g, 'O').replace(/1/g, 'I');
for (let char of hexStr) {
if (!'ABCDEFIO'.includes(char)) {
return "ERROR";
}
}
return hexStr;
}Ставь 👍 и забирай 📚 Базу знаний