A Discrete Mathematics professor has a class of students. Frustrated with their lack of discipline, the professor decides to cancel class if fewer than some number of students are present when class starts. Arrival times go from on time (arrivalTime<=10) to arrived late (arrival>0).
Given the arrival time of each student and a threshhold number of attendees, determine if the class is cancelled.
Example
N = 5 K = 3 A = [2,1,0,1,2]
The first 3 students arrived on. The last 2 were late. The threshold is 3 students, so class will go on. Return YES.
Note: Non-positive arrival times (a[i]<=0) indicate the student arrived early or on time; positive arrival times (a[i]>0) indicate the student arrived a[i] minutes late.
Function Description
Complete the angryProfessor function in the editor below. It must return YES if class is cancelled, or NO otherwise.
angryProfessor has the following parameter(s):
- int k: the threshold number of students
- int a[n]: the arrival times of the n students
Returns
- string: either YES or NO
Input Format
The first line of input contains t, the number of test cases.
Each test case consists of two lines.
The first line has two space-separated integers,n and k, the number of students (size of a) and the cancellation threshold.
The second line contains n space-separated integers (a[1],a[2],….,a[n]) that describe the arrival times for each student.
Constraints
- 1<=t<=10
- 1<=n<=1000
- 1<=k<=n
- 100<=a[i]<=100, where i belongs to [1,…n]
Sample Input
2 4 3 -1 -3 4 2 4 2 0 -1 2 1
Sample Output
YES NO
Angry Professor HackerRank Solution in C
/*Angry Professor*/ #include<stdio.h> int main() { int count, i, K, N, T, time; scanf("%d", &T); while (T--) { scanf("%d %d", &N, &K); count = 0; for (i = 0; i < N; i++) { scanf("%d", &time); if (time <= 0) count++; } puts((count < K) ? "YES" : "NO"); } return 0; }
Angry Professor HackerRank Solution in C++
#include <bits/stdc++.h> using namespace std; int main() { int a; cin >> a; for (int g=0; g<a; g++) { int b,c; cin >> b >> c; int num=0; for (int g=0; g<b; g++) { int d; cin >> d; if (d<=0) num++; } if (num>=c) { cout << "NO" << '\n'; } else cout << "YES" << '\n'; } return 0; }
Angry Professor HackerRank Solution in Java
import java.io.BufferedReader; import java.io.InputStreamReader; import java.io.PrintWriter; import java.util.StringTokenizer; public class AngryProf { public static void main(String args[] ) throws Exception { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); PrintWriter w = new PrintWriter(System.out); int t = ip(br.readLine()); while(t-- > 0) { StringTokenizer st1 = new StringTokenizer(br.readLine()); int n = ip(st1.nextToken()); int k = ip(st1.nextToken()); StringTokenizer st2 = new StringTokenizer(br.readLine()); int a[] = new int[n]; for(int i=0;i<n;i++) a[i] = ip(st2.nextToken()); int count = 0; for(int i=0;i<n;i++) if(a[i]<=0) count++; w.println(count < k ? "YES" : "NO"); } w.close(); } public static int ip(String s){ return Integer.parseInt(s); } }
Angry Professor HackerRank Solution in Python
for _ in xrange(input()): n, m = map(int, raw_input().split()) A = map(int, raw_input().split()) for x in A: if x <= 0: m -= 1 if m <= 0: print "NO" else: print "YES"
Angry Professor HackerRank Solution in C#
using System; using System.Collections.Generic; using System.IO; class Solution { static void Main(String[] args) { /* Enter your code here. Read input from STDIN. Print output to STDOUT. Your class should be named Solution */ int count = int.Parse(Console.ReadLine()); for (int i = 0; i < count; i++) { string[] nk = Console.ReadLine().Trim().Split(' '); int numstudents = int.Parse(nk[0]); int minnumber = int.Parse(nk[1]); string[] students = Console.ReadLine().Trim().Split(' '); System.Diagnostics.Debug.Assert(students.Length == numstudents); int earlystudents = 0; foreach (string item in students) { int time = int.Parse(item); if (time <= 0) earlystudents++; } if (earlystudents >= minnumber) Console.WriteLine("NO"); else Console.WriteLine("YES"); } } }
Attempt – HackerRank Challenge
Link – https://www.hackerrank.com/challenges/angry-professor/
Next HackerRank Challenge Solution
Link – https://exploringbits.com/beautiful-days-at-the-movies-hackerrank-solution/
Aayush Kumar Gupta is the founder and creator of ExploringBits, a website dedicated to providing useful content for people passionate about Engineering and Technology. Aayush has completed his Bachelor of Technology (Computer Science & Engineering) from 2018-2022. From July 2022, Aayush has been working as a full-time Devops Engineer.