Statistics

Problem Statement for "AccessLevel"

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

  1. {0,1,2,3,4,5}

    2

    Returns: "DDAAAA"

    Here, the first two users don't have sufficient privileges, but the remainder do.

  2. {5,3,2,10,0}

    20

    Returns: "DDDDD"

    Unfortunately, nobody has sufficient access.

  3. {}

    20

    Returns: ""

    It makes no difference what permission is required, since there are no users to check.

  4. {34,78,9,52,11,1}

    49

    Returns: "DADADD"

  5. {1,1,1,1,1,1,1,1,1,1,1,1,1}

    1

    Returns: "AAAAAAAAAAAAA"

  6. {99,99,99,99,99,1,2,3,4,5}

    50

    Returns: "AAAAADDDDD"

  7. {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50}

    25

    Returns: "DDDDDDDDDDDDDDDDDDDDDDDDAAAAAAAAAAAAAAAAAAAAAAAAAA"

  8. {99, 98, 97, 96, 95, 34, 33, 32, 31, 1, 2, 3, 4, 5}

    0

    Returns: "AAAAAAAAAAAAAA"

  9. {99, 98, 97, 96, 95, 34, 33, 32, 31, 1, 2, 3, 4, 5}

    4

    Returns: "AAAAAAAAADDDAA"

  10. { 1, 2, 3, 4, 5 }

    2

    Returns: "DAAAA"

  11. { 34, 78, 9, 52, 11, 1 }

    49

    Returns: "DADADD"

  12. { 0, 1, 2, 3, 4, 5 }

    2

    Returns: "DDAAAA"


This problem statement is the exclusive and proprietary property of TopCoder, Inc. Any unauthorized use or reproduction of this information without the prior written consent of TopCoder, Inc. is strictly prohibited. (c)2024, TopCoder, Inc. All rights reserved.
This problem was used for: