else/DailyProgrammer/d222_balance.md
2015-08-02 21:28:40 -07:00

1.6 KiB

https://www.reddit.com/r/dailyprogrammer/comments/3c9a9h/

[2015-07-06] Challenge #222 [Easy] Balancing Words

Description

Today we're going to balance words on one of the letters in them. We'll use the position and letter itself to calculate the weight around the balance point. A word can be balanced if the weight on either side of the balance point is equal. Not all words can be balanced, but those that can are interesting for this challenge.

The formula to calculate the weight of the word is to look at the letter position in the English alphabet (so A=1, B=2, C=3 ... Z=26) as the letter weight, then multiply that by the distance from the balance point, so the first letter away is multiplied by 1, the second away by 2, etc.

As an example:

STEAD balances at T: 1 * S(19) = 1 * E(5) + 2 * A(1) + 3 * D(4))

Input Description

You'll be given a series of English words. Example:

STEAD

Output Description

Your program or function should emit the words split by their balance point and the weight on either side of the balance point. Example:

S T EAD - 19

This indicates that the T is the balance point and that the weight on either side is 19.

Challenge Input

CONSUBSTANTIATION
WRONGHEADED
UNINTELLIGIBILITY

Challenge Output

CONSUBST A NTIATION - 1608
WRONGHEADED DOES NOT BALANCE
UNINTELL I GIBILITY - 1673

Notes

This was found on a word games page suggested by /u/cDull, thanks! If you have your own idea for a challenge, submit it to /r/DailyProgrammer_Ideas, and there's a good chance we'll post it.