hapidzfadli: Hackerrank
News Update
Loading...
Tampilkan postingan dengan label Hackerrank. Tampilkan semua postingan
Tampilkan postingan dengan label Hackerrank. Tampilkan semua postingan

Sabtu, 17 Oktober 2020

Menyelesaikan Plus Minus Challenge  dengan Javascript HackerRank

Menyelesaikan Plus Minus Challenge dengan Javascript HackerRank

 


Pada postingan kali ini saya akan kembali menyelesaikan tantangan dari hackerrank. Tantangan yang akan saya selesaikan yaitu Plus Minus Challenge. Dalam kasus ini kita di suruh untuk membuat function atau fungsi untuk menghitung rasio untuk angka positif, negatif dan nol

Contoh:

Jika kita di beri array dengan bilangan bulat di dalamnya seperti berikut [1, 2, 0, -1, -2]. Dalam array ini terdapat dua bilangan positif, dua bilangan negatif dan satu angka nol. Setelah menemukan berapa jumlah bilangan positif, negatif dan nol, selanjutnya kita bagi setiap jumlah bilangan ini dengan pangjang array nya, dalam array di atas panjang array nya 5. Jadi untuk bilangan positif rasionya 2 / 5 = 0, 4, untuk bilangan negatif 2 / 5 = 0,4 dan untuk nol 1 / 5 = 0,2. 

Jadi Hasilnya adalah:

  • Positif = 0,4
  • Negatif = 0,4
  • Nol = 0,1

Berikut code pemrograman untuk menyelesaikan Plus Minus Challenge menggunkan javascript:

function plusMinus(arr) {
var positif = 0
var negative = 0;
var nol = 0;

for( var i = 0; i < arr.length; i++){
if (arr[i] < 0){
negative += 1 / arr.length;
}
if (arr[i] > 0){
positif += 1 / arr.length;
}
if (arr[i] === 0){
nol += 1 / arr.length;
}
}
console.log(positif);
console.log(negative);
console.log(nol);

}

Dalam kode di atas saya mendeklarasikan tiga buah variabel. Variabel positif di tujukan untuk menyimpan jumlah bilangan positif, variabel negatif untuk jumlah bilangan negatif begitupun dengan variabel nol untuk jumlah bilangan nol. 

Penggunaan for lopp di tujukan untuk mengulangi setiap bilangan yang ada dalam array, di dalam for terdapat tiga buah kondisi menggunakan if. Kondisi pertama bila bilangan array lebih kecil dari nol, jumlah bilangan negatif bertambah satu. Kondisi bila bilangan array lebih besar dari nol jumlah bilangan positif bertambah satu. Dan kondisi ketiga jika bilangan array sama dengan nol jumlah bilangan nol bertambah satu. Terakhir tampilkan setiap variabel dengan console.log.

Berikut  kode lain yang dapat anda gunakan:

function plusMinus(arr) {
let positives = 0, negatives = 0, zeros = 0;
const len = arr.length || 0;

if (len > 0 && len <= 100) {
arr.map((elem, key) => {
if (elem > 0) {
positives++;
} else if (elem < 0) {
negatives++;
} else {
zeros++;
}

return elem;
});
}

console.log((positives / len) || 0);
console.log((negatives / len) || 0);
console.log((zeros / len) || 0);
}
Menyelesaikan Simple Array Sum Challenge dengan Javascript #hackerrank

Menyelesaikan Simple Array Sum Challenge dengan Javascript #hackerrank

Hackerrank Challenge


Pada artikel ini saya akan menyelesaikan tantangan dari www.hackerrank.com. Situs www.hackerrank.com merupakan situs yang berisi tantangan tantangan untuk menyelesaikan masalah,dalam situs ini kita bisa menyelesaikan tantangan dengan berbagai bahasa pemrograman. Namun kali ini saya akan menyelesaikan satu tantangan yakni Simple Array Sum menggunkan bahasa pemrograman java script.

Dalam challange simple array sum kita di suruh menemukan jumlah bilangan dalam array. Misalnya jika dalam array terdapat integer seperti [1, 2, 3, 4, 5] maka jumlah dari array tersebut yaitu 1+2+3+4+5 = 15.

Untuk memecahkan masalah ini kita bisa menggunakan berbagai cara pertama kita bisa menggunakan pengulangan for. Seperti pada contoh kode berikut:

var numbers = [10, 20, 30, 40] // sums to 100
var sum = 0;
for (var i = 0; i < numbers.length; i++) {
sum += numbers[i]
}

Dalam kode di atas kita membuat dua variabel. Variabel number di gunakan untuk menampung array dan variabel sum kita deklarasikan nol telebih dahulu, tapi nantinya variabel ini akan menampung jumlah bilangan array. Dan kita gunakan pengulangan for untuk mengulang setiap bilangan dalam array(number[i])  kemudian bilangan bilangan tersebut di masukan atau di tambahkan ke variabel sum dengan operator +=.

Berikut kode untuk hacker rank nya:

var sum = 0;

for (var i = 0; i < ar.length; i++){
sum += ar[i];
}

return sum;

Cara kedua kita bisa menggunakan method reduce. Metode ini dapat kita gunakan untuk mengakumulasikan atau mengurangi nilai berdasarkan elemen di dalam array. Berikut contoh kodenya:

const numbers = [10, 20, 30, 40] // sums to 100
// function for adding two numbers. Easy!
const add = (a, b) =>
a + b
// use reduce to sum our array
const sum = numbers.reduce(add)

Pada kode kedua ini kita menggunakan const untuk membuat veriabel. Dalam variabel add kita membuat function dengan arraw function. fungsi ini menggunakan dua argumen yaitu a dan b. Karena kita menggunakan metode reduce argumen a akan di petakan sebagai accumulator (Nilai yang dikembalikan dari callback terakhir) dan b sebagai currentValue (Elemen saat ini sedang diproses dalam array.).

Contoh Jika accumulator = 5 dan currentValue  = 10 maka fungi add akan mengembalikan nilai 15.

Berikut kode Simple Array Sum menggunakan reduce:

var sum = ar.reduce((a,b) => a + b);
return sum;

Featured

[Featured][recentbylabel2]

Featured

[Featured][recentbylabel2]
Notification
This is just an example, you can fill it later with your own note.
Done