, чтобы сохранить свой прогресс
Кирилл Панишев
16 янв. 2021 г., 17:04

Обсуждение задания "Roman Numeral Converter"

Не срабатывает первый тест даже если просто возвращаю "II"
https://prnt.sc/wvich9

Слева в редакторе есть три кнопки, в том числе и Помощь. Перешел в подсказки, взял первое же решение предложенное (Solutions)

var convertToRoman = function(num) { var decimalValue = [1000, 900, 500, 400, 100, 90, 50, 40, 10, 9, 5, 4, 1]; var romanNumeral = [ "M", "CM", "D", "CD", "C", "XC", "L", "XL", "X", "IX", "V", "IV", "I" ]; var romanized = ""; for (var index = 0; index < decimalValue.length; index++) { while (decimalValue[index] <= num) { romanized += romanNumeral[index]; num -= decimalValue[index]; } } return romanized; }; convertToRoman(36);
Работает.

Чессказать, сам я и не догадался как решить эту задачку, без подсказки оказалось никак. Но именно такой современный мир разработки: умение быстро найти решение в сети, так что это ОК. Но когда нашел и оно работает, очень хорошо попробовать разобраться как именно и почему оно работает. Чтобы прокачать и свои навыки.

Ну я практически сам её решил, но я не понял почему моё решение не прошло ни один тест? оно работало почти для всех случаев из теста
А пришли свое решение.
Вот моё решение, оно немного не доделано, но должно работать для большинства случаев из теста, ну хотя бы один проходить точно)
https://codepen.io/shelder14/pen/PoGXaEo
В таких случаях жми F12 и смотри что происходит в консоли. Ты просто забыл объявить переменную.

const romanNumbers = [ {symbol: 'I', number: 1}, {symbol: 'V', number:5}, {symbol: 'X', number:10}, {symbol: 'L', number:50}, {symbol: 'C', number:100}, {symbol: 'D', number:500}, {symbol: 'M', number:1000} ];
const забыл.

В итоге ошибка
Lol точно, понял, cпасибо. Очень странно что в codepen не было никакой ошибки....
Особо странного ничего нет. Это зависит от настроек и там специально сделано, чтобы новички меньше спотыкались. Здесь же ближе к боевым реалиям.

Добавить комментарий