Skip to content

Instantly share code, notes, and snippets.

View koalicioous's full-sized avatar

Ulil Albab Surya Negara koalicioous

View GitHub Profile
@koalicioous
koalicioous / validPalindrome.ts
Created August 13, 2023 22:54
125. Valid Palindrome
function isPalindrome(s: string): boolean {
const string = s.replace(/[^A-Za-z0-9]/g, '').toLowerCase()
let left = 0
let right = string.length - 1
while (right > left) {
if (string[left] !== string[right]) return false
right--
left++
}
@koalicioous
koalicioous / pascalTriangle.ts
Created August 13, 2023 22:18
118. Pascal's Triangle
function generate(numRows: number): number[][] {
const result: number[][] = []
for (let i = 0; i < numRows; i++) {
const res = new Array(i + 1)
for (let j = 0; j <= i; j++) {
if (j === 0 || j === i) res[j] = 1
else {
res[j] = (result[i-1][j-1] + result[i-1][j])
}
}
@koalicioous
koalicioous / insertionSort.ts
Created August 12, 2023 00:35
JavaScript Insertion Sort
const arr = [10,11,13,5,6,6,2]
const insertionSort = (arr: number[]) => {
for (let i = 1; i < arr.length; i++) {
let currentValue = arr[i]
let j = i - 1
while (j >= 0 && arr[j] > currentValue) {
arr[j + 1] = arr[j]
j--
}
const selectionSort = (arr: number[]) => {
for (let i = 0; i < arr.length; i++) {
let minIndex = i
for (let j = i; j < arr.length; j++) {
if (arr[j] < arr[i]) minIndex = j
}
[arr[i], arr[minIndex]] = [arr[minIndex], arr[i]]
}
return arr
}
@koalicioous
koalicioous / validParentheses.ts
Created August 3, 2023 23:08
Valid Parentheses Solution
function isValid(s: string): boolean {
const stack: string[] = []
const pairs: Record<string,string> = {
')' : '(',
'}' : '{',
']' : '['
}
for (let i = 0; i < s.length;i++) {
if (pairs[s[i]] === undefined) {
@koalicioous
koalicioous / get.ts
Created August 3, 2023 00:04
Get Deeply Nested Value in JavaScript
/**
* @param {Object} object
* @param {string|Array<string>} path
* @param {*} [defaultValue]
* @return {*}
*/
export default function get(object, path, defaultValue) {
const path = Array.isArray(pathParam) ? pathParam : pathParam.split('.');
let index = 0;
@koalicioous
koalicioous / helper.js
Created July 21, 2022 07:33
Map Targets to Job Titles
/**
* 1. Differentiate Senior and Junior
* 2. Differentiate blast sequence
* 3. Generate Job Title
*/
export const generateJobReccomendationBlast = (targets) => {
const senior = targets.filter((item) => item.yearsOfExperience >= 3)
const junior = targets.filter((item) => item.yearsOfExperience < 3)
type Question = {
question: string,
answer: string
}
type FAQSection = {
title: string,
items: Question[]
}
import clsx from 'clsx';
import { useMemo } from 'react';
import Image from 'next/image';
import JobLocationIcon from '@/icons/JobLocationIcon';
import JobPositionIcon from '@/icons/JobPositionIcon';
// import JobSalaryIcon from '@/icons/JobSalaryIcon'
import Tag from '@/components/General/Tag';
import TopCandidateIcon from '@/icons/TopCandidateIcon';
import {
parseEmploymentType,
const myBook = { title: 'Negeri 5 Menara', author: 'Ahmad Fuadi'}
type Book = typeof myBook
const yourBook: Book;