สมมติว่าเรามีสตริงไบนารี:
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