Statistics

Problem Statement for "CellLife"

Problem Statement

We are interested in how much biological diversity can be generated by very simple life and death rules. The environment is a line of cells. Each cell may either be alive or dead.

We will define the diversity in a line of cells to be the number of different sizes of alive groups that are present. An alive group is a contiguous set of alive cells. So a line of cells AADADDDADDDAAAADDADDA has diversity equal to 3 since it contains alive groups of sizes 2, 1, and 4.

Create a class CellLife that contains a method diversity that takes a configuration of cells as input and returns its diversity.

Definition

Class:
CellLife
Method:
diversity
Parameters:
String
Returns:
int
Method signature:
int diversity(String line)
(be sure your method is public)

Constraints

  • line contains between 1 and 50 characters, inclusive.
  • Each character in line is 'A' or 'D'.

Examples

  1. "ADDAADD"

    Returns: 2

    This line has a group of size 1 and a group of size 2

  2. "ADDAAADAAAD"

    Returns: 2

    This line has groups of size 1 and size 3

  3. "DDD"

    Returns: 0

  4. "ADAADAAADAAAADAAAAADAAAAADADDDDD"

    Returns: 5

  5. "ADADADADADADADADADADADADADADADADADADADADADADA"

    Returns: 1

  6. "D"

    Returns: 0

  7. "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"

    Returns: 1

  8. "DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD"

    Returns: 0

  9. "DAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"

    Returns: 1

  10. "A"

    Returns: 1

  11. "AAAAA"

    Returns: 1

  12. "AAA"

    Returns: 1

  13. "AADA"

    Returns: 2

  14. "ADADADADADADADADADADADADADADAD"

    Returns: 1

  15. "ADAAA"

    Returns: 2

  16. "AAAAAAAAAAAAAAAAAAAADDD"

    Returns: 1

  17. "DAAAAAAAAAA"

    Returns: 1

  18. "ADAA"

    Returns: 2

  19. "ADADA"

    Returns: 1

  20. "AAADAAA"

    Returns: 1

  21. "ADADAADAADAAA"

    Returns: 3

  22. "AA"

    Returns: 1

  23. "ADAADAAADDDAAAAAAAAAADAAAAA"

    Returns: 5

  24. "ADAADAAAADDDDAAAAAAAAA"

    Returns: 4

  25. "ADDAADDAAA"

    Returns: 3

  26. "DDDA"

    Returns: 1

  27. "AADDAAA"

    Returns: 2

  28. "AADDDAAAA"

    Returns: 2

  29. "AAAAAAAAAAAAAAAAAA"

    Returns: 1


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: