Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> JavaScript

การหาจำนวนการลบขั้นต่ำในสตริงด้วย JavaScript

สมมติว่าเรามีสตริงไบนารี:

const str = '001001';

เราต้องเขียนฟังก์ชันที่รับสตริงดังกล่าวเป็นอาร์กิวเมนต์เดียว ฟังก์ชันต้องคำนวณและคืนค่าจำนวนการลบขั้นต่ำในอินพุต เพื่อให้ไม่มีตัวเลขติดกันสองตัวที่เหมือนกัน

ตัวอย่าง

สำหรับสตริงข้างต้น ผลลัพธ์ควรเป็น:

const output = 2;

เพราะถ้าลบ '0' ที่ดัชนี 0 และ 3 สตริงใหม่จะเป็น '0101' ซึ่งเป็นสตริงที่ยาวที่สุดที่ตรงเงื่อนไข

ตัวอย่างโค้ด

const str = '001001';
const minimumDeletions = (str = '') => {
  let count = 0;
  const { length } = str;
  for(let i = 0; i < length; i++) {
    if (str[i] === str[i + 1]) {
      count++;
    }
  }
  return count;
};
console.log(minimumDeletions(str));

ผลลัพธ์

2