Skip to content

Instantly share code, notes, and snippets.

@bwafi
Last active August 8, 2024 12:49
Show Gist options
  • Save bwafi/862f761922ce23565bcd7e8192ac7d0c to your computer and use it in GitHub Desktop.
Save bwafi/862f761922ce23565bcd7e8192ac7d0c to your computer and use it in GitHub Desktop.
Technical test - (SKK MIGAS) Satuan Kerja Khusus Pelaksana Kegiatan Usaha Hulu Minyak dan Gas Bumi
function sortLetters(words) {
let joinArray = words.join("");
let wordAppear = {};
for (let char of joinArray) {
wordAppear[char] = (wordAppear[char] || 0) + 1;
}
let appearArray = Object.entries(wordAppear);
appearArray.sort((a, b) => {
if (b[1] !== a[1]) {
return b[1] - a[1];
} else {
if (a[0] === a[0].toUpperCase() && b[0] === b[0].toLowerCase()) {
return -1;
} else if (a[0] === a[0].toLowerCase() && b[0] === b[0].toUpperCase()) {
return 1;
} else {
return a[0].localeCompare(b[0]);
}
}
});
return appearArray.map((entry) => entry[0]).join("");
}
let input1 = ["Abc", "bCd"];
console.log(sortLetters(input1));
let input2 = ["Oke", "One"];
console.log(sortLetters(input2));
let input3 = ["Pendanaan", "Terproteksi", "Untuk", "Dampak", "Berarti"];
console.log(sortLetters(input3));
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment