พื้นหลัง
คุณเพิ่งได้รับการว่าจ้างจาก บริษัท บัญชีขนาดเล็ก โลกของการบัญชีนั้นค่อนข้างต่างกับคุณดังนั้นคุณไม่แน่ใจว่าคุณกำลังทำตามแนวทางวิชาชีพทั้งหมดหรือไม่ โดยเฉพาะอย่างยิ่งคุณไม่ทราบว่าเมื่อใดที่คุณควรปัดเศษตัวเลขเหล่านั้นทั้งหมดและไปในทิศทางใดดังนั้นเวลาส่วนใหญ่ที่คุณเพิ่งจะใช้และหวังว่าจะได้สิ่งที่ดีที่สุด
อินพุต
อินพุตของคุณเป็นสตริงเดี่ยวที่แสดงถึงการคำนวณอย่างง่าย +-*/
มันมีตัวเลขของจำนวนเต็มไม่ติดลบบางส่วนคั่นด้วยตัวอักษร สตริงอ่านจากซ้ายไปขวาและกฎความสำคัญปกติจะถูกละเว้นดังนั้น"23+1*3/4"
หมายความว่า "เริ่มต้นด้วย 23 เพิ่ม 1 คูณด้วย 3 และหารด้วย 4" ผลลัพธ์คือ 18 อินพุตจะไม่ประกอบด้วยตัวเลขที่ขึ้นต้นด้วย0
(ยกเว้น0
ตัวเอง) หรือหารด้วยศูนย์
เอาท์พุต
ในแต่ละขั้นตอนของการคำนวณคุณสามารถปัดเศษผลลัพธ์ขึ้นหรือลงให้เป็นจำนวนเต็มที่ใกล้เคียงที่สุดหรือเก็บตามที่มันเป็น ในที่สุดคุณปัดขึ้นหรือลงเพื่อให้ได้ผลลัพธ์จำนวนเต็ม ผลลัพธ์ของคุณคือรายการจำนวนเต็มที่อาจเป็นผลมาจากการคำนวณเรียงลำดับและไม่มีการซ้ำซ้อน
กฎระเบียบ
คุณสามารถเขียนโปรแกรมเต็มหรือฟังก์ชั่น จำนวนไบต์ต่ำสุดที่ชนะและช่องโหว่มาตรฐานไม่ได้รับอนุญาต
กรณีทดสอบ
"42" -> [42]
"2+0+4-0" -> [6]
"23+1*3/4" -> [18]
"5/2" -> [2,3]
"5/2+7/3*6-1" -> [17,18,19,23]
"23/2/2*30-170/3" -> [-7,-6,-2,-1,0,1,3,4]
"1/3*2*2*2*2*2*2" -> [0,16,20,21,22,24,32,64]
"1/3*9" -> [0,3,9]
1/3*9
ซึ่งอาจล้มเหลวหากคุณใช้หมายเลขจุดลอยตัว