TopCoder problem "AccessLevel" used in SRM 218 (Division II Level One)



Problem Statement

    

In many computer systems and networks, different users are granted different levels of access to different resources. In this case, you are given a int[] rights, indicating the privilege level of each user to use some system resource. You are also given a int minPermission, which is the minimum permission a user must have to use this resource.

You are to return a String indicating which users can and cannot access this resource. Each character in the return value corresponds to the element of users with the same index. 'A' indicates the user is allowed access, while 'D' indicates the user is denied access.

 

Definition

    
Class:AccessLevel
Method:canAccess
Parameters:int[], int
Returns:String
Method signature:String canAccess(int[] rights, int minPermission)
(be sure your method is public)
    
 

Notes

-If users is empty, then a zero-length String ("") should be returned.
 

Constraints

-users will contain between 0 and 50 elements, inclusive.
-Each element of users will be between 0 and 100, inclusive.
-minPermission will be between 0 and 100, inclusive.
 

Examples

0)
    
{0,1,2,3,4,5}
2
Returns: "DDAAAA"
Here, the first two users don't have sufficient privileges, but the remainder do.
1)
    
{5,3,2,10,0}
20
Returns: "DDDDD"
Unfortunately, nobody has sufficient access.
2)
    
{}
20
Returns: ""
It makes no difference what permission is required, since there are no users to check.
3)
    
{34,78,9,52,11,1}
49
Returns: "DADADD"

Problem url:

http://www.topcoder.com/stat?c=problem_statement&pm=3100

Problem stats url:

http://www.topcoder.com/tc?module=ProblemDetail&rd=5864&pm=3100

Writer:

timmac

Testers:

PabloGilberto , lbackstrom , brett1479

Problem categories:

Simple Search, Iteration, String Manipulation