6
1
Lets say we have this existing data:
Total - 10
Won - 7
Lost - 3
Longest Winning Streak - 5
Longest Losing Streak - 2
Now you need to write a function which generates an array of random boolean values (true
representing a win and false
representing a loss) which fulfills the above criteria.
So, in this case the output can be any of the following:
0011011111
1111101100
1010011111
..........
Rules:
- Solution must be function which takes in
Won, Lost, Longest Winning Streak and Longest Losing Streak
and returns a boolean array or string formed of a boolean array like (110011001010
). It can also display output instead of returning the generated data. - You can safely assume there are no ties/draws/no-results.
- This is code-golf so shortest code wins.
- Input format can be in any form (Standard Input/Command-Line,etc.). And the real input format should be -
<Won> <Lost> <LWS> <LLS>
where<..>
are place-holders or they can be separate parameters for the function.. whatever you deem best for your code. The parameterTotal
is unnecessary. So you needn't use it. - As far as random is concerned, you can see that in the example, there are three (and more) possible outputs. Just output any one at random.
- If you have any other question, ask in the comments below.
Important - Not any answer as of now is correct.
I provide another example (this one's real data) which is possible but not working with the codes in the current answers:
Total - 171
Won - 111
Lost - 60
Longest Winning Streak - 10
Longest Losing Streak - 4
Real Data:
1110110100111111010000101111111100110001100110111101101011111011011011011111111110110001111011010001101011100101111101001011011110101101001100001111101010110001111110111111
Another possible output (Basically the same, just the third and fourth digits are interchanged):
1101110100111111010000101111111100110001100110111101101011111011011011011111111110110001111011010001101011100101111101001011011110101101001100001111101010110001111110111111
1What is the input format? – Downgoat – 2016-01-31T17:03:35.733
@Doᴡɴɢᴏᴀᴛ How could I forget that... sorry but now I've posted it. – Farhan Anam – 2016-01-31T17:06:00.970
Can we take input as an array or separate arguments? – Downgoat – 2016-01-31T17:06:43.647
1How do you measure "random"? I could just go and construct the Array in a deterministic way with the given parameters. If you wanna keep the random requirement, you should add some rules for it. – Denker – 2016-01-31T17:07:02.157
<Total> <Won> <Lost> <LWS> <LLS>
is a single string. – Farhan Anam – 2016-01-31T17:07:03.1373Why so strict on the input? – Addison Crump – 2016-01-31T17:09:08.017
Given your edit, my program could always output the same array if its called with the same parameters multiple times? – Denker – 2016-01-31T17:09:09.807
@DenkerAffe Yes.. no problem with that. same thing is allowed as long as it is correct. – Farhan Anam – 2016-01-31T17:09:45.290
No. Winning streak will be <= total wins <= total matches. similarly losing streak will be <= total losses <= total matches. – Farhan Anam – 2016-01-31T17:11:08.230
So we have to take in all the input data or just some? – Downgoat – 2016-01-31T17:14:40.997
@Doᴡɴɢᴏᴀᴛ Sorry, could you elaborate... :0 – Farhan Anam – 2016-01-31T17:15:47.553
@FarhanAnam In my program, I don't need to take in the
Total
as input as. Does it still have to be in the input? Like, can I take just7 3 5 2
for input – Downgoat – 2016-01-31T17:17:23.433The total is unnecessary really.. didn't notice that. I'll remove it. – Farhan Anam – 2016-01-31T17:19:03.540
Do all outputs need to be equiprobable? "Random" might as well be taken as "choose randomly between two possible outputs – Luis Mendo – 2016-01-31T19:33:27.510