Statistics

Problem Statement for "BettingStrategy"

Problem Statement

You are thinking of using the following betting strategy: in the first round, you bet one dollar. If you win the bet, you win the dollar and bet another dollar in the next round. Otherwise you lose the dollar and bet two dollars in the second round (provided you still have at least two dollars in your account). If you win, you get the two dollars and bet one dollar in the third round, otherwise you lose the two dollars and bet four dollars in the third round (provided you have at least that amount in your account) and so on. In other words, whenever you lose a bet, you double the value of the bet for the next round. Whenever you win, the bet for the next round will be one dollar.

For example, if you start with 10 dollars, and you win the bet in the first round, lose the bet in the next two rounds and then win the bet in the fourth round, you will end up with 10+1-1-2+4 = 12 dollars.

You will be given an int initSum giving the amount of money you initially have. You will also be given a String outcome. The ith character of outcome will be either 'W' (win) or 'L' (lose), denoting the outcome of the ith round. Return the amount of money you will have after all the rounds are played. If at some point you don't have enough money in your account to cover the value of the bet, you must stop and return the sum you have at that point.

Definition

Class:
BettingStrategy
Method:
finalSum
Parameters:
int, String
Returns:
int
Method signature:
int finalSum(int initSum, String outcome)
(be sure your method is public)

Constraints

  • initSum will be between 1 and 1000, inclusive.
  • outcome will contain between 1 and 50 characters, inclusive.
  • Each character of outcome will be either 'W' or 'L'.

Examples

  1. 12

    "WWWWWWWW"

    Returns: 20

    You are really lucky. You win one dollar in each round, so you end up with 20 dollars.

  2. 12

    "LLLLLLLL"

    Returns: 5

  3. 15

    "LLLWLLLL"

    Returns: 1

    After losing 7 dollars in the first three rounds, you have just enough money to cover your bet for the fourth round. You win 8 dollars in this round, but lose another 15 in the last four, so your final sum will be one dollar.

  4. 20

    "WLWLWLWL"

    Returns: 23

    You win one dollar in each odd numbered round and lose one dollar in the last round.

  5. 39

    "W"

    Returns: 40

  6. 232

    "LW"

    Returns: 233

  7. 2

    "WLL"

    Returns: 0

  8. 755

    "WLWL"

    Returns: 756

  9. 408

    "WWWWW"

    Returns: 413

  10. 782

    "WWWLWW"

    Returns: 787

  11. 799

    "LWLLLLW"

    Returns: 801

  12. 920

    "LWWWWWWW"

    Returns: 927

  13. 634

    "WWWLWLWWW"

    Returns: 641

  14. 107

    "WWLWWLLLWL"

    Returns: 111

  15. 826

    "LLWLLWLLLLL"

    Returns: 797

  16. 195

    "WWWLLWLLLLLL"

    Returns: 136

  17. 118

    "LLWLLLLLLLLLW"

    Returns: 56

  18. 831

    "WLWLWLLWLLLWWL"

    Returns: 836

  19. 461

    "LWWLWLLLWWWWLLW"

    Returns: 469

  20. 653

    "LLWWLLLLWWWWWLLL"

    Returns: 653

  21. 317

    "WWLLWWWLWWLLLLLLL"

    Returns: 197

  22. 48

    "WWWWWWLWWLLLLWLLLL"

    Returns: 42

  23. 707

    "LLWWWWWWWWWLWLLLLWW"

    Returns: 719

  24. 654

    "LWLWLLLWLWWWWWLWWLWW"

    Returns: 666

  25. 580

    "LLLLWLWWWLWLWLLLWWLLL"

    Returns: 581

  26. 988

    "WLWLLWWWWLWWWLLWLWWWLL"

    Returns: 998

  27. 351

    "WWWLLLLLWLLLWLWLWWLWWWW"

    Returns: 363

  28. 275

    "WLLLLWWWLWLWLLLLLWWLWWWL"

    Returns: 285

  29. 42

    "LLWLLWWWWLLLLLWLLWLLLWWLW"

    Returns: 16

  30. 668

    "WLWLWWLLLWLWWLWLLLWLWWWLLL"

    Returns: 673

  31. 797

    "WLLLWLWLWWLLLWWWLWLLLWLLLLW"

    Returns: 808

  32. 95

    "WWWLWWWLWWWLWLLLWWLWWLLLLLWW"

    Returns: 111

  33. 64

    "WWLWLLLWWWWLLLWLWWWWWWLWWWWWL"

    Returns: 82

  34. 991

    "WLLLWWLWWWLWWLWLWLWLWLLLLWWWWW"

    Returns: 1008

  35. 925

    "WLLLLLWLLLLLLWWWWWLWLLWLLLLLLWL"

    Returns: 934

  36. 494

    "WWWWLLWWLWLLLWLWWWLLWLLLLLWLWWWW"

    Returns: 511

  37. 433

    "LWLWLWWWWWWWLWLWLLLLWLWLLWLLWLWWL"

    Returns: 449

  38. 433

    "WWWWWWLLWLLLWLWWWLLWLWLLLWWLWWWWWW"

    Returns: 454

  39. 916

    "LWLLWLWLLLWWWLWLWLLLLWLWWWLWWWLWWLW"

    Returns: 934

  40. 184

    "LWLLWWWWWWWWWLWLLLLWWLWWLWLWLLLLLLWW"

    Returns: 203

  41. 730

    "WLWWWWLWWWLLLWWWWLWLLWWWLLWWLWWWLLLWW"

    Returns: 753

  42. 994

    "WLWWWLLLWWLLLWLLWWWLWLWLWWWWWLLWLLWWWW"

    Returns: 1016

  43. 953

    "LWWWLLLLLWLLWLWWWWLWLLLWWWWLLLWWLLLWWLL"

    Returns: 968

  44. 639

    "LWLLWWLWWLLWLLWLLLLWWLWWLLWLWLWWLWLWLLLL"

    Returns: 641

  45. 563

    "LWLLWLLLWWWLWWLLWWWLLWLWWLLLWWLWWLLLWLWLW"

    Returns: 583

  46. 339

    "WWWWWLWWWLLLLLWWWWWLWWWWLLLWLWLLLWLLWLLLWW"

    Returns: 362

  47. 957

    "LLWLWLWWWLLLWLWWWWLWWWWLLWLLWLWWLLWLLLWWLWW"

    Returns: 980

  48. 281

    "LWLLLWWWWWWWWLLWWWWWWWLWWLLLLWWWLWLLLWLLWLLL"

    Returns: 298

  49. 369

    "LLLWWLLWLWWLLWLWWLLLWWLLWWLWWWWWWLWWLWWLLWLWL"

    Returns: 392

  50. 231

    "WWLWWLLWLWLLLLWWWLLWLWWLLWWLLWWLWLWWLLLLLWLWWL"

    Returns: 252

  51. 70

    "LWLWLWWWWLLWWWWWWLWLLWWWLLLLWWWLLLLWLLLWWLWLLLL"

    Returns: 78

  52. 968

    "LLWLLLLLWLLLWWLWLWLWWWWLWLWLLWWWLWLWLWLWWLLWLWWW"

    Returns: 992

  53. 58

    "LLWWLLWLWLLLLWWWWLLWLWWLLWLLWLLLLLWWWWWWWLLLWWLLL"

    Returns: 73

  54. 661

    "WLWWWLWWLWWLWWLLLLLLWLWLWWLLWWWLWWWLLLWLLLWLWWLLLL"

    Returns: 670

  55. 491

    "LWWWWWLWWLWLLWLLLWWLLLLWLWWWLLLWWLWLWLWLLWWWWLWWLW"

    Returns: 518

  56. 965

    "LLWLWLLWWLWWLWLWWLWWWWWWLWWLWLWWWLWWWLWWLLWWLWWWWL"

    Returns: 996

  57. 956

    "WWLLLWLLWWLLLWLWWLLWLWLLWLLLLWLLWLLWWWWLLLLLLLWWLL"

    Returns: 972

  58. 372

    "WWLWLLWLLLWLLLWLWLWWLWLWLLLWLWWLLWLLWLWWWLLLLLWWWL"

    Returns: 393

  59. 376

    "LWLLWWLLWWWWWLLWWLLWLLWLWLLLLLWLLLLWLLWLLLLLLLLLLL"

    Returns: 137

  60. 204

    "WWWWLWWWLLWLLWLLWWLLLWWWLLWWWLWWLLWWLWLWLLWLWWLWWW"

    Returns: 233

  61. 783

    "WLLWWWWLWLWLLLWLLWWLLWWLWWWWWWLWWLWLLLWLLWWWWLWWWL"

    Returns: 811

  62. 966

    "LWWLWLLLLLWLWWLLWLWWLLLLLWWLWLWLWLWWWLLLWWWLWWLWWL"

    Returns: 989

  63. 92

    "WWWLWWWWLWWWLLWWLWWWWWWLLWLWLWWLWWWLWWLWWLWLLWLWLL"

    Returns: 121

  64. 1000

    "LWWWLLWWWWLLWLWWLLLLWWLWWLWLWWWLWWLWLLLLWWWLLWLLWL"

    Returns: 1025

  65. 1000

    "WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW"

    Returns: 1050

  66. 15

    "LWWLLLLWLLLLL"

    Returns: 2

  67. 10

    "LLLLL"

    Returns: 3

  68. 10

    "LLLL"

    Returns: 3

  69. 2

    "LW"

    Returns: 1

  70. 2

    "LWWW"

    Returns: 1

  71. 1

    "LLLLLLLLLLL"

    Returns: 0

  72. 1

    "LWWWW"

    Returns: 0

  73. 16

    "LLLLLL"

    Returns: 1

  74. 2

    "LL"

    Returns: 1

  75. 10

    "WLLLLLLLLLLLLLLLL"

    Returns: 4

  76. 3

    "LLW"

    Returns: 0

  77. 1

    "L"

    Returns: 0

  78. 1

    "LLLWWWWWWWWW"

    Returns: 0

  79. 5

    "LLW"

    Returns: 2

  80. 1

    "LW"

    Returns: 0

  81. 1

    "LLLLLL"

    Returns: 0

  82. 5

    "LLLLLLL"

    Returns: 2

  83. 4

    "LLL"

    Returns: 1

  84. 1

    "LWW"

    Returns: 0

  85. 10

    "LLLLLLLLLL"

    Returns: 3

  86. 10

    "LLLLW"

    Returns: 3

  87. 6

    "LLW"

    Returns: 3

  88. 1

    "WLL"

    Returns: 1

  89. 1

    "LLLLL"

    Returns: 0

  90. 1

    "W"

    Returns: 2

  91. 2

    "LLLLLL"

    Returns: 1

  92. 6

    "LLLLLL"

    Returns: 3

  93. 4

    "LLW"

    Returns: 1

  94. 5

    "LLLLLLLL"

    Returns: 2

  95. 1

    "LWWWL"

    Returns: 0

  96. 2

    "LLL"

    Returns: 1

  97. 10

    "LLLLLLLL"

    Returns: 3

  98. 4

    "LLLW"

    Returns: 1

  99. 12

    "LLLLLLLLLLL"

    Returns: 5

  100. 5

    "LLLLL"

    Returns: 2

  101. 6

    "LLLLL"

    Returns: 3

  102. 5

    "LLLLLL"

    Returns: 2

  103. 14

    "LLLWLLLL"

    Returns: 7

  104. 1

    "LLLLLLLLL"

    Returns: 0

  105. 1

    "LL"

    Returns: 0

  106. 1

    "LWWW"

    Returns: 0

  107. 4

    "LLLLLLLLL"

    Returns: 1

  108. 511

    "LLLLLLLLLW"

    Returns: 0

  109. 17

    "LLLLWWWWW"

    Returns: 2

  110. 15

    "LLLLW"

    Returns: 0

  111. 13

    "LLLWLLLL"

    Returns: 6

  112. 9

    "LLLWW"

    Returns: 2

  113. 7

    "LLL"

    Returns: 0

  114. 9

    "LLLW"

    Returns: 2

  115. 18

    "LLLLL"

    Returns: 3

  116. 2

    "LLLLLLLLLLLLLLLL"

    Returns: 1

  117. 1

    "LLLLLLL"

    Returns: 0

  118. 4

    "LLWLW"

    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: