งานของคุณคือการจำลองการกดแป้นที่ผู้ใช้พิมพ์
อินพุต
อาเรย์สตริงหรือสตริงที่มีตัวคั่นที่คุณเลือก (นอกช่วง 32-126) ที่มี 'การกดแป้นพิมพ์' อย่างน้อยหนึ่งรายการ
อาร์เรย์นี้จะมีสตริงสองประเภทเท่านั้น: การกดแป้นพิมพ์แบบพาสซีฟ (ตัวอักษรเดียว) และคำสั่ง (ตัวอักษรภายในเครื่องหมายวงเล็บ[ ]
)
- การกดแป้นเรื่อย ๆ
- รหัสอักขระ ASCII
[32-126]
- รหัสอักขระ ASCII
- คำสั่ง:
[B]
: backspace (ลบอักขระตัวสุดท้ายที่เพิ่มหากมี)[C]
: คัดลอกทุกสิ่งที่เขียนไปแล้ว[D]
: ลบสิ่งที่เขียนทั้งหมด[P]
: วางสิ่งที่คัดลอกมา
เอาท์พุต
สตริงที่ผลิตโดยการกดแป้น
ตัวอย่าง
['H', 'e', 'l', 'l', 'o'] -> 'Hello'
['H', 'e', 'l', 'l', 'o', ' ', '[C]', '[P]'] -> 'Hello Hello '
['[D]', 'D', '[B]'] -> ''
['H', '[C]', 'i', '[P]', '[C]', '[P]'] -> 'HiHHiH'
['e', '[C]', '[B]', 'I', ' ', 'l', 'i', 'k', '[P]', ' ', 'b', '[P]', '[P]', 's', '!'] -> I like bees!
['N', '[P]'] -> 'N'
['#', '5', '0', 'K', '0', '0', '1', '[D]', '#', 'n', 'o', 't'] -> '#not'
['H', 'o', 'w', ' ', '[D]', 'H', 'e', 'y'] -> 'Hey'
['s', 'u', 'd', '[B]', 'p', '[C]', '[D]', 'I', ' ' , 'h', 'a', 'v', 'e', ' ', '[P]', 'p', 'e', 'r', '!'] -> 'I have supper!'
นี่คือรหัส - กอล์ฟดังนั้นรหัสที่สั้นที่สุดในหน่วยไบต์ชนะ!
[D]
ที่ไม่ได้ใช้เพียงอย่างเดียวดังนั้นรหัสจะไม่ได้เป็นเพียงsplit('[D]')[1]
บางอย่าง
[D]