1271. Hexspeak
Десятичное number можно преобразовать в его шестнадцатеричное представление, сначала преобразовав его в прописную шестнадцатеричную строку, а затем заменив все вхождения цифры '0' на букву 'O', а цифры '1' - на букву 'I'. Такое представление допустимо тогда и только тогда, когда оно состоит только из букв набора {'A', 'B', 'C', 'D', 'E', 'F', 'I', 'O'}. Получив строку num, представляющую десятичное intero n, return шестнадцатеричное представление n, если оно допустимо, иначе return "ERROR".
Esempio:
Input: num = "257"
Output: "IOI"
C# soluzione
abbinato/originalepublic class Solution {
public string ToHexString(string num) {
string hexStr = Convert.ToInt64(num).ToString("X").Replace('0', 'O').Replace('1', 'I');
foreach (char c in hexStr) {
if (!"ABCDEFIO".Contains(c)) {
return "ERROR";
}
}
return hexStr;
}
}
C++ soluzione
bozza automatica, rivedere prima dell'invio#include <bits/stdc++.h>
using namespace std;
// Auto-generated C++ draft from the C# solution. Review containers, LINQ and helper types before submit.
class Solution {
public:
public string ToHexString(string num) {
string hexStr = Convert.ToInt64(num).ToString("X").Replace('0', 'O').Replace('1', 'I');
foreach (char c in hexStr) {
if (!"ABCDEFIO".Contains(c)) {
return "ERROR";
}
}
return hexStr;
}
}
Java soluzione
abbinato/originalepublic class Solution {
public String toHexString(String num) {
String hexStr = Long.toHexString(Long.parseLong(num)).toUpperCase().replace('0', 'O').replace('1', 'I');
for (char c : hexStr.toCharArray()) {
if ("ABCDEFIO".indexOf(c) == -1) {
return "ERROR";
}
}
return hexStr;
}
}
JavaScript soluzione
abbinato/originalefunction 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;
}
Python soluzione
abbinato/originaledef toHexString(num):
hex_str = hex(int(num))[2:].upper().replace('0', 'O').replace('1', 'I')
for char in hex_str:
if char not in 'ABCDEFIO':
return "ERROR"
return hex_str
Go soluzione
abbinato/originaleimport (
"strconv"
"strings"
)
func toHexString(num string) string {
n, _ := strconv.ParseInt(num, 10, 64)
hexStr := strings.ToUpper(strconv.FormatInt(n, 16))
hexStr = strings.ReplaceAll(hexStr, "0", "O")
hexStr = strings.ReplaceAll(hexStr, "1", "I")
for _, char := range hexStr {
if !strings.Contains("ABCDEFIO", string(char)) {
return "ERROR"
}
}
return hexStr
}
Algorithm
1⃣Преобразуйте десятичное number в шестнадцатеричную строку в верхнем регистре.
2⃣Замените все вхождения цифры '0' на букву 'O', а цифры '1' на букву 'I'
3⃣Проверьте, что преобразованная stringa содержит только допустимые символы. Если это так, return строку, иначе return "ERROR".
😎
Vacancies for this task
offerte attive with overlapping task tags are mostrati.