โจทย์
ดูต้นฉบับ (ภาษาอังกฤษ)บวกค่าคะแนนของแต่ละตัวอักษรในคำหนึ่งคำ ไม่สนใจตัวพิมพ์เล็กหรือใหญ่ ไม่มีตัวคูณคะแนนบนกระดานหรือไทล์ตัวแทน (wildcard)
ค่าคะแนนของตัวอักษร:
A, E, I, O, U, L, N, R, S, T: ตัวละ 1 คะแนน
D, G: ตัวละ 2 คะแนน
B, C, M, P: ตัวละ 3 คะแนน
F, H, V, W, Y: ตัวละ 4 คะแนน
K: 5 คะแนน J, X: ตัวละ 8 คะแนน Q, Z: ตัวละ 10 คะแนน
ให้เขียนฟังก์ชัน word_tile_score(word)
อินพุต
word: คำที่ต้องการคำนวณคะแนน
เอาต์พุต
คืนค่าผลรวมคะแนนของตัวอักษรทั้งหมดในคำนั้น
เงื่อนไข
0 ≤ ความยาวของ word ≤ 10,000 มีเฉพาะตัวอักษรภาษาอังกฤษแบบ ASCII เท่านั้น ถ้าอินพุตว่างให้คืนค่า 0
ตัวอย่าง
อินพุต:
word = "code"
ผลลัพธ์ที่คาดหวัง:
expected = 7
อินพุต:
std::string word = "code";
ผลลัพธ์ที่คาดหวัง:
long long expected = 7;
อินพุต:
string word = "code";
ผลลัพธ์ที่คาดหวัง:
long expected = 7;
คำอธิบาย
C มีค่า 3, O มีค่า 1, D มีค่า 2, และ E มีค่า 1: 3 + 1 + 2 + 1 = 7
อินพุต:
word = "Quiz"
ผลลัพธ์ที่คาดหวัง:
expected = 22
อินพุต:
std::string word = "Quiz";
ผลลัพธ์ที่คาดหวัง:
long long expected = 22;
อินพุต:
string word = "Quiz";
ผลลัพธ์ที่คาดหวัง:
long expected = 22;
คำอธิบาย
ตัวพิมพ์เล็กหรือใหญ่ไม่มีผล Q + U + I + Z ได้ 10 + 1 + 1 + 10 = 22
แหล่งอ้างอิง
โจทย์นี้ปรับให้เหมาะกับ CodeUtility กรุณาทำตามคำชี้แจงและข้อจำกัดด้านบน