Skip to content

Instantly share code, notes, and snippets.

View VassilVassilev's full-sized avatar

Vassil Vassilev VassilVassilev

  • GEO Polymorphic Cloud
  • Bulgaria
View GitHub Profile
@VassilVassilev
VassilVassilev / gist:ec5046b367ac5658ad6ff32212d25793
Created October 25, 2018 07:30
SoftUni, Functions and Forms, Array Manipulator
function manipulate(arrInput) {
let arrayWork = arrInput[0].split(' ').map(Number);
arrInput.shift()
for (let i = 0; i < arrInput.length; i++) {
let command = arrInput[i].split(' ');
if (command[1] === 'even') {
if (command[0] === 'max') {
if (max(even(arrayWork)) < 0) {
console.log('No matches');
@VassilVassilev
VassilVassilev / gist:b2f24ac19632115b356e72105b94ad32
Created October 18, 2018 13:31
SoftUni, JS, Arrays More Exercises, 4. Extract an Non-Decreasing Subsequence from an Array
function solve(arr) {
let resultArray = [+arr[0]];
let check = +arr[0]
for (let i = 1; i < arr.length; i++) {
if (arr[i] >= check) {
resultArray.push(+arr[i]);
check = +arr[i]
}
}
console.log(resultArray.join(' '))
function solve(arr1, arr2) {
let resultArr = arr1.map(function(e, i) {
return e - arr2[i];
});
let sum = arr1.map(Number).reduce((a, b) => a + b);
let check = resultArr.filter(el => el != 0)
console.log(check.length > 0 ?
`Arrays are not identical. Found difference at ${resultArr.indexOf(check[0])} index` :
`Arrays are identical. Sum: ${sum}`);
@VassilVassilev
VassilVassilev / gist:4e25e7ee00f1c1d17b96ed508145c344
Created October 15, 2018 19:41
SoftUni, JS, Magic Matrices
function solve(arr) {
let isTrue = true;
let rowCheck = arr[0].reduce((a, b) => a + b, 0);
for (let i = 0; i < arr.length; i++) {
let checkSum = arr[i].reduce((a, b) => a + b, 0);
if (checkSum !== rowCheck) {
isTrue = false;
break;
}
@VassilVassilev
VassilVassilev / gist:8436234e35d5ead0e7f726a98b7dfceb
Created October 15, 2018 07:10
SoftUni, JS Tech Module, Arrays Homework, 09. Kamino Factory, ver2
function solve(arr) {
let sequenceArray = arr.slice(1, arr.length).map(x => x.split('!').join(''));
let sequenceArray1 = sequenceArray.map(x => x.split('0'));
let searchString = ''
let searchIndex = sequenceArray.length;
let searchSum = 0;
let searchSequence = '0'.repeat(arr[0])
let searchSequenceIndex = 0
for (let index in sequenceArray1) {
@VassilVassilev
VassilVassilev / gist:ea52f0d049f0b85b7e9677b4dd3f65a2
Created October 14, 2018 12:45
SoftUni, JS Tech Module, Arrays Homework, 09. Kamino Factory
function solve(arr) {
let lengthSequences = Number(arr[0]);
let sequenceArray = arr.slice(1, arr.length)
.map(x => x.split('!').join(''));
let searchString = '1'.repeat(lengthSequences);
let sequenceNum = 0;
let sequenceResult = '';
let resultSum = 0;
while (sequenceNum == 0) {
@VassilVassilev
VassilVassilev / gist:eebd8af47c9cd3c06e4612541e5466bd
Created October 14, 2018 11:35
SoftUni, JS, 03. Rotate Arrays
function solve(arr) {
let rotations = +arr[arr.length-1];
arr.pop()
if (isNaN(rotations)){
console.log('Empty');
} else {
for (let i = 1; i <= rotations; i++) {
arr.unshift(arr.pop());
}
@VassilVassilev
VassilVassilev / gist:9dc71ede23442d40d62b485516e76372
Created October 14, 2018 11:34
SoftUni, JS, 02. Add and Remove Elements from Array
function solve(arr) {
let resultArray = [];
for (let wordIndex in arr) {
if (arr[wordIndex] === 'add') {
resultArray.push(+wordIndex +1);
} else {
resultArray.pop()
}
}
if (resultArray.length > 0) {
@VassilVassilev
VassilVassilev / gist:88fb673485aef29304b0455f18d6a614
Last active August 24, 2018 17:37
Finding the rightmost index of a value in a list - one possible solution
list1 = [1, 2, 3, 2, 1, 1, 5, 6]
list2 = ['aa', 'bb', 'cc', 'aa', 'dd', 'ff', 'aa', 'gd']
min_index1 = list(filter(lambda x: x[1]==min(list1), enumerate(list1)))[-1][0]
min_index2 = list(filter(lambda x: x[1]==min(list2), enumerate(list2)))[-1][0]
print(min_index1)
print(min_index2)
@VassilVassilev
VassilVassilev / gist:40fcfb9842132830c1a1360231c69c26
Created August 24, 2018 15:38
SoftUni, Exam Preparation: Problem 4 - Cubic Messages
import re
def create_string(indexes, string):
result_list = [' '] * len(indexes)
for i in range(0, len(result_list)):
if indexes[i] <= len(string) - 1:
result_list[i] = string[indexes[i]]
print_string = ''.join(result_list)
return print_string