Alternating Ones and Zeroes

Published by Helen Yu in

Write a function that returns true if the binary string can be rearranged to form a string of alternating 0s and 1s.

Examples

can_alternate("0001111") ➞ true
# Can make: "1010101"

can_alternate("01001") ➞ true
# Can make: "01010"

can_alternate("010001") ➞ false

can_alternate("1111") ➞ false

Notes

  • No substring of the output may contain more than one consecutive repeating character (e.g. 00 or 11 are not allowed).
  • Return false if a string only contains 0s or only contains 1s.
Watch a quick demo on how Edabit works.