Running Total for Different Genders (โจทย์ medium leetcode)

--

จากตาราง player

จงหา คะแนนสะสม แยกตามเพศ และวันที่แข่ง โดยคะแนนสะสม คือ คะแนนตั้งแต่อดีตจนถึงปัจจุบันรวมกัน ของเพศนั้น

ผลลัพธ์

เช่น วันที่ 2019–12–31 มีคะแนนสะสม ของ F = 40 เพราะ วันที่ 2019–12–30 ของ F มีคะแนนเป็น 17 และ วันที่ 2019–12–31 ของ F มีคะแนนเป็น 23 … 23 + 17 = 40 นั่นเอง

เฉลย

.

.

.

.

.

.

.

.

.

.

  1. เริ่มจากการ list คะแนนของทุกวันจนถึงวันที่กำหนดก่อน

โดยเอาแค่ที่เป็น เพศเดียวกันด้วย ก็จะได้ตารางคะแนนตั้งแต่อดีตถึงปัจจุบันของเพศนั้นมา

2. ต่อมาให้รวมคะแนนของ row ที่มีเพศ และ main_day เดียวกัน

3. จะได้ผลลัพธ์มา ที่เหลือก็แค่จัดรูป

โอเค ได้ผลลัพธ์ละ

แนว accumulator ข้อแรกเลย 555 อาจจะงงๆหน่อย แต่ไว้จะหาแนวแบบนี้มาลงอีกละกัน

--

--

No responses yet