โจทย์ทั้งหมด
ง่าย 0 ข้อที่แก้แล้ว อัตราผ่าน 0%

คะแนนตัวอักษรในคำ

บวกค่าคะแนนของแต่ละตัวอักษรในคำหนึ่งคำ

บวกค่าคะแนนของแต่ละตัวอักษรในคำหนึ่งคำ ไม่สนใจตัวพิมพ์เล็กหรือใหญ่ ไม่มีตัวคูณคะแนนบนกระดานหรือไทล์ตัวแทน (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

ตัวอย่าง

ตัวอย่างที่ 1
อินพุต:
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

ตัวอย่างที่ 2
อินพุต:
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 กรุณาทำตามคำชี้แจงและข้อจำกัดด้านบน

เรียนรู้จากคนอื่น

แนวทางจากชุมชน

ยังไม่มีวิธีทำที่เผยแพร่ ลองแก้โจทย์นี้เพื่อแชร์วิธีแรก