Skip to content

Instantly share code, notes, and snippets.

View romarios1987's full-sized avatar
🇺🇦

Roman Batiuk romarios1987

🇺🇦
View GitHub Profile
//! Single Number
//? Example:
// Input: [4,1,2,1,2]
// Output: 4
// function singleNumber(nums) {
// for (let i = 1; i < nums.length; i++) {
// nums[0] ^= nums[i];
// }
@romarios1987
romarios1987 / script.js
Created November 5, 2019 15:10
Split Strings CODEWARS
// ! Split Strings CODEWARS
// //?Solution 1
function solution(str) {
return (str.length % 2 ? str + '_' : str).match(/../g);
}
console.log(solution('abcdef')); // ['ab', 'cd', 'ef']
console.log(solution('abc')); // ['ab', 'c_']
// //?Solution 2
function solution(str) {
@romarios1987
romarios1987 / script.js
Created November 5, 2019 14:22
Unique In Order CODEWARS
// ! Unique In Order CODEWARS
//?Solution 1
var uniqueInOrder = function(iterable) {
return [].filter.call(iterable, function(a, i) {
return iterable[i - 1] !== a;
});
};
console.log(uniqueInOrder('AAAABBBCCDAABBB')); // ['A', 'B', 'C', 'D', 'A', 'B']
console.log(uniqueInOrder('ABBCcAD')); // ['A', 'B', 'C', 'c', 'A', 'D']
console.log(uniqueInOrder([1, 2, 2, 3, 3])); // [1,2,3]
@romarios1987
romarios1987 / script.js
Created November 5, 2019 14:19
Isograms Trolls CODEWARS
// ! Isograms Trolls CODEWARS
/**
* Изограмма - это слово, которое не имеет повторяющихся букв, последовательных или непоследовательных.
*/
// ?Solution 1
function isIsogram(str) {
for (let i = 0; i < str.length; i++) {
if (str.toLowerCase().split(str[i]).length - 1 > 1) {
return false;
@romarios1987
romarios1987 / script.js
Last active June 23, 2022 06:00
Disemvowel Trolls CODEWARS
// ! Disemvowel Trolls CODEWARS
//?Solution 1
function disemvowel(str) {
return (str || '').replace(/[aeiou]/gi, '');
}
//?Solution 2
function disemvowel(str) {
var vowels = ['a', 'e', 'i', 'o', 'u'];
/***
* Throttle Decorator
* @type {Element}
*/
let realElement = document.querySelector('#real');
let throttleElement = document.querySelector('#throttle');
function onMove(element, event) {
1. Получаем хэш-код коммита, к которому хотим вернуться.
2. Заходим в папку репозитория и пишем в консоль:
$ git reset --hard a3775a5485af0af20375cedf46112db5f813322a
$ git push --force
@romarios1987
romarios1987 / gist:339e943abe037199b1547d17ec055e01
Last active March 31, 2020 06:51
Реализовать RLE-сжатие
'use strict';
/**
* Реализовать RLE-сжатие:
* Функция принимает строку и возвращает новую строку
* 2 и больше одинаковых букв стоящих подряд в исходной строке
* заменяются на эту букву и число повторений
* число 1 не добавляется!
*
* AAAB -> A3B, BCCDDDAXXXX -> BC2D3AX4
@romarios1987
romarios1987 / gist:3c0bf48ee4ddd8f18a3f2d78d52099d5
Created December 27, 2018 15:55
Определите, содержит ли строка все уникальные символы
'use strict';
function isUnique(str) {
var i, ch;
var len = str.length;
if (len > 127) {
return false;
}
var abc="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ".split("");//Набор символов который будет использоваться в системе счисления
//Перевод числа из любой системы счисления в десятичную
function ToNum(a,b){// Аргументы: строка, система счисления
var n = 0;
var mas = abc.slice(0,b);
a = String(a);
for(var i = 0;i < a.length;i++){
n = n +(mas.indexOf(a.substr(a.length-i-1,1))*Math.pow(b,i));
}
return n;