โจทย์
Convert a score from 0 to 100 into a letter grade: 90 and above is A, 80–89 is B, 70–79 is C, 60–69 is D, and below 60 is F.
Implement letter_grade(score).
Input
score: The test score.
Output
Return the letter as a one-character string.
เงื่อนไข
0 ≤ score ≤ 100
ตัวอย่าง
อินพุต:
score = 85
ผลลัพธ์ที่คาดหวัง:
expected = "B"
อินพุต:
long long score = 85;
ผลลัพธ์ที่คาดหวัง:
std::string expected = "B";
อินพุต:
long score = 85;
ผลลัพธ์ที่คาดหวัง:
string expected = "B";
คำอธิบาย
85 is at least 80 but below 90, so the grade is B.
อินพุต:
score = 59
ผลลัพธ์ที่คาดหวัง:
expected = "F"
อินพุต:
long long score = 59;
ผลลัพธ์ที่คาดหวัง:
std::string expected = "F";
อินพุต:
long score = 59;
ผลลัพธ์ที่คาดหวัง:
string expected = "F";
คำอธิบาย
59 is below 60, so the grade is F.
แนวทางการแก้
ลองทำเองก่อน แล้วค่อยเปิดคำใบ้ทีละข้อ
คำใบ้ 1
เปรียบเทียบคะแนนกับเกณฑ์ผ่านที่สูงสุดก่อน แล้วค่อยไล่ลงมา
คำใบ้ 2
ใช้การเปรียบเทียบแบบเรียงลำดับจะ map ช่วงคะแนนเป็นตัวอักษรได้ง่ายที่สุด
คำใบ้ 3
เช็กให้แน่ใจว่าคะแนนขอบเขตอย่าง 90, 80, 70, และ 60 อยู่ในเกรดที่สูงกว่า
ความซับซ้อนที่คาดหวัง
เวลา O(1), หน่วยความจำเพิ่ม O(1)
แหล่งอ้างอิง
โจทย์นี้ปรับให้เหมาะกับ CodeUtility กรุณาทำตามคำชี้แจงและข้อจำกัดด้านบน