สอบทักษะครั้งที่ 2
การสอบทักษะเป็นการวัดความรู้ความเข้าใจและการนำความรู้ในการเขียนคำสั่งภาษา Python ไปประยุกต์ใช้แก้ปัญหา โดยผู้รับการทดสอบจะต้องเขียนคำสั่งภาษา Python เพื่ตอบโจทย์ที่กำหนดให้ 3 - 5 ข้อ โดยจะต้องส่งผลลัพธ์ไปยังเครื่องแม่ข่ายเพื่อรับการประเมินผลโดยอัตโนมัติกับชุดทดสอบที่หลากหลาย
ตัวอย่างโจทย์ที่ 1
โจทย์ (7-11 Shopy Quiz)
7-11 Shopy Quiz คือ เกมไลฟ์ ถาม-ตอบ คำถามความรู้รอบตัว จำนวน 7 หรือ 11 ข้อ โดยผู้เล่นจะต้องตอบคำถามให้ถูกต้องครบทั้งหมด จำนวน 7 หรือ 11 ข้อ ตามเงื่อนไขในรอบนั้น จึงจะเป็นผู้ชนะ รางวัลเป็น Shopy Coins จำนวน 1 พันล้าน แบ่งเท่ากันทุกคน หากตอบผิดจะหมดสิทธิ์เล่นเกมต่อในข้อถัดไป
จงเขียนโปรแกรมนับจำนวนผู้ชนะ เมื่อครบ 7 หรือ 11 ข้อ ตามที่โจทย์กำหนด
ข้อมูลนำเข้า
มี \(N + 1\) บรรทัด
บรรทัดที่ 1 คือ จำนวนข้อ \((N)\) และจำนวนผู้เล่น \((P)\) โดยที่ \(N\) มีค่าเป็น 7 หรือ 11 เท่านั้น และ \(0 <= P <= 100,000\)
บรรทัดที่ 2 ถึงบรรทัดที่ \(N+1\) คือ จำนวนผู้เล่นที่ตอบผิดในแต่ละข้อ \((X)\) โดยที่ \(0 <= X <= N\)
ข้อมูลส่งออก
มี 1 บรรทัด คือ จำนวนผู้ชนะ
ตัวอย่างผลลัพธ์
7 50 |
9 |
10 |
|
10 |
|
5 |
|
5 |
|
5 |
|
5 |
|
1 |
|
11 10 |
1 |
2 |
|
2 |
|
2 |
|
1 |
|
1 |
|
1 |
|
0 |
|
0 |
|
0 |
|
0 |
|
0 |
|
7 5000 |
1600 |
500 |
|
500 |
|
100 |
|
100 |
|
100 |
|
100 |
|
2000 |
ตัวอย่างโจทย์ที่ 2
โจทย์ (ReG611)
จงเขียนโปรแกรมเพื่ออ่านรายการคำร้องถอนและลงทะเบียนของนักศึกษาจากงานทะเบียนของมหาวิทยาลัยแห่งหนึ่ง ซึ่งแต่ละภาคเรียนเจ้าหน้าที่จะบันทึกหนึ่งรายการต่อหนึ่งบรรทัด โดยแต่ละรายการจะประกอบไปด้วย
ประเภทคำร้อง,รหัสนักศึกษาผู้ยื่นเรื่อง,รหัสวิชา
ประเภทของคำร้อง เป็นไปได้ 2 อย่างคือ
R แทน การยื่นขอลงทะเบียนรายวิชา
W แทน การยื่นขอถอนรายวิชา
รหัสนักศึกษาผู้ยื่นเรื่อง - เป็น ตัวเลข 10 หลักที่ตัวแรกไม่เป็น 0 รหัสวิชา - เป็น ตัวเลข 7 หลักที่ตัวแรกไม่เป็น 0
โปรแกรมจะต้องแสดงรายการของรายวิชาและจำนวนผู้ลงทะเบียนที่อยู่ในรายการทั้งหมด โดยเรียงลำดับจากรายวิชาที่มีจำนวนนักศึกษาลงทะเบียนมากที่สุดไปจนถึงรายวิชาที่มีคนลงทะเบียนน้อยที่สุด
หมายเหตุ:
ถ้านักศึกษายื่นคำร้องขอถอนรายวิชาที่ยังไม่มีชื่อให้ถือว่าคำร้องเป็นโมฆะ (ไม่มีผลใดๆ)
ถ้านักศึกษายื่นคำร้องขอลงหรือถอนรายวิชาเดิมซ้ำให้ถือว่าเป็นโมฆะ (ไม่มีผลใดๆ)
ข้อมูลนำเข้า
ข้อมูลรายการจำนวน n บรรทัด โดยมีรายการละบรรทัด โดยที่ \(1 < n <= 10,000\)
บรรทัดสุดท้ายจะมีคำว่า end อยู่
ข้อมูลส่งออก
รายการของรายวิชาพร้อมจำนวนนักศึกษาที่ลงทะเบียนวิชานั้นเรียงลำดับตามจำนวนนักศึกษาที่ลงทะเบียนจากมากไปน้อย โดยแยกรายการละบรรทัด แต่ละบรรทัดประกอบด้วย รหัสวิชา และ จำนวนผู้ลงทะเบียน คั่นด้วย comma ,
ตัวอย่างผลลัพธ์
ข้อมูลนำเข้า |
ข้อมูลส่งออก |
R,1111111111,1111111 |
1111111,3 |
R,2222222222,2222222 |
2222222,2 |
R,3333333333,1111111 |
|
R,4444444444,2222222 |
|
R,5555555555,1111111 |
|
end |
|
R,1111111111,1111111 |
2222222,4 |
R,2222222222,2222222 |
1111111,3 |
R,3333333333,1111111 |
3333333,2 |
R,4444444444,2222222 |
|
R,4444444444,3333333 |
|
R,5555555555,3333333 |
|
R,4444444444,3333333 |
|
R,3333333333,2222222 |
|
R,5555555555,2222222 |
|
R,2222222222,1111111 |
|
end |
|
R,1111111111,1111111 |
2222222,4 |
R,2222222222,2222222 |
1111111,3 |
R,3333333333,1111111 |
3333333,1 |
R,4444444444,2222222 |
|
R,4444444444,3333333 |
|
R,5555555555,3333333 |
|
W,4444444444,3333333 |
|
R,3333333333,2222222 |
|
R,5555555555,2222222 |
|
R,2222222222,1111111 |
|
end |