06.05.2018, 14:55
|
|
Профессор
|
|
Регистрация: 01.12.2016
Сообщений: 3,650
|
|
Сообщение от Alexandroppolus
|
пропатчить некоторые встроенные функции.
|
лучше не привыкать
|
|
06.05.2018, 14:56
|
|
Профессор
|
|
Регистрация: 01.12.2016
Сообщений: 3,650
|
|
Alexandroppolus,
какие преимущества быть в каком либо клане???
|
|
06.05.2018, 15:16
|
|
Профессор
|
|
Регистрация: 25.10.2016
Сообщений: 1,012
|
|
Сообщение от j0hnik
|
лучше не привыкать
|
в той ситуации выбора не было
|
|
06.05.2018, 15:21
|
|
Профессор
|
|
Регистрация: 25.10.2016
Сообщений: 1,012
|
|
Сообщение от j0hnik
|
Alexandroppolus,
какие преимущества быть в каком либо клане???
|
никаких
мне дали ссылку на этот сайт на работе, ну я и вступил, чтобы была соревновательность со знакомыми людьми, а не какими-то неизвестными персонажами (с помощью клана всех сразу видно). Потом все клановые быстро забили, я по инерции ещё немного порешал то что казалось интересным и незамороченным, и тоже забил.
сейчас, оглядываясь назад, из того что решил могу вспомнить интересных задач только штук 5-7...
|
|
06.05.2018, 18:27
|
|
Профессор
|
|
Регистрация: 01.12.2016
Сообщений: 3,650
|
|
Alexandroppolus,
const solution = new RegExp('.');
var str = solution.test.toString();
solution.test = function(x) { /* тут любое решение )) */ };
solution.test.toString = function() { return str; };
как этой фишкой пользоваться?
|
|
06.05.2018, 21:41
|
|
Профессор
|
|
Регистрация: 25.10.2016
Сообщений: 1,012
|
|
j0hnik,
ты про задачу с делимостью на 7?
вместо /* тут любое решение )) */ написать что-то вроде
return !(parseInt(x, 2) % 7)
Тут косяк автора вот в чем: он хочет от игрока регулярку, которой проверяет строку (методом test). А мы тупо берем и заменяем этот метод своей функцией. Чтобы такое не прокатило, автор теста проверяет результат test.toString(), но мы и toString переопределили.
Самый правильный подход - получать от игрока строку. Проверять что это строка (typeof) и по ней создавать регекс. При этом предварительно сохранить метод test из RegExp.prototype, и сам конструктор RegExp, потом это всё использовать. Тогда юзер нигде ничего не перепишет и будет вынужден честно упороться и таки написать регулярку.
|
|
04.08.2018, 02:23
|
|
Профессор
|
|
Регистрация: 01.12.2016
Сообщений: 3,650
|
|
Интересная ката 6kyu (новичок+)
Нужно найти во входном массиве (от 1 до n) пропущенные числа и вернуть их новый массив в порядке возрастания.
[8, 10, 11, 7, 3, 15, 6, 1, 14, 5, 12] ---> [2, 4, 9, 13]
ВАЖНО[!] решение должно быть скоростным, проверка на огромных массивами, с редкими пропусками.
Последний раз редактировалось j0hnik, 04.08.2018 в 02:58.
|
|
04.08.2018, 10:05
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,126
|
|
j0hnik,
<script>
function fn(b) {
for (var c = [], a = 0; a < b.length; a++) c[b[a]] = true;
b = [];
for (a = 1; a < c.length; a++) c[a] || b.push(a);
return b
};
var a = [8, 10, 11, 7, 3, 15, 6, 1, 14, 5, 12] ;
a = fn(a);
document.write(JSON.stringify(a, null, 4))
</script>
|
|
04.08.2018, 10:33
|
|
Профессор
|
|
Регистрация: 01.12.2016
Сообщений: 3,650
|
|
рони,
Такой была моя первая попытка, только я чиcла пушил,
var x = c[b[a]];
c[x] = x;
кодварс ответил мне: "Хей! бро, не, ты меня не понял, нужно ОЧЕНЬ быстрое решение!"
Последний раз редактировалось j0hnik, 04.08.2018 в 10:36.
|
|
|
|