ง่าย 0 ข้อที่แก้แล้ว อัตราผ่าน 0%

Letter Grade

Turn a test score into a letter grade.

สิ่งที่คุณจะได้เรียนรู้

  • จับคู่ช่วงคะแนนกับเกรด
  • เรียงเงื่อนไขจากสูงไปต่ำ
  • จัดการค่าที่ขอบช่วงให้แม่นยำ

โจทย์

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

ตัวอย่าง

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

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

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

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

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