freeCodeCamp/curriculum/challenges/portuguese/10-coding-interview-prep/rosetta-code/i-before-e-except-after-c.md

2.0 KiB

id title challengeType forumTopicId dashedName
5a23c84252665b21eecc7eb0 I before E except after C 5 302288 i-before-e-except-after-c

--description--

The phrase "I before E, except after C" is a widely known mnemonic which is supposed to help when spelling English words.

Using the words provided, check if the two sub-clauses of the phrase are plausible individually:

  1. "I before E when not preceded by C".
  2. "E before I when preceded by C".

If both sub-phrases are plausible then the original phrase can be said to be plausible.

--instructions--

Write a function that accepts a word and check if the word follows this rule. The function should return true if the word follows the rule and false if it does not.

--hints--

IBeforeExceptC should be a function.

assert(typeof IBeforeExceptC == 'function');

IBeforeExceptC("receive") should return a boolean.

assert(typeof IBeforeExceptC('receive') == 'boolean');

IBeforeExceptC("receive") should return true.

assert.equal(IBeforeExceptC('receive'), true);

IBeforeExceptC("science") should return false.

assert.equal(IBeforeExceptC('science'), false);

IBeforeExceptC("imperceivable") should return true.

assert.equal(IBeforeExceptC('imperceivable'), true);

IBeforeExceptC("inconceivable") should return true.

assert.equal(IBeforeExceptC('inconceivable'), true);

IBeforeExceptC("insufficient") should return false.

assert.equal(IBeforeExceptC('insufficient'), false);

IBeforeExceptC("omniscient") should return false.

assert.equal(IBeforeExceptC('omniscient'), false);

--seed--

--seed-contents--

function IBeforeExceptC(word) {

}

--solutions--

function IBeforeExceptC(word)
{
    if(word.indexOf("c")==-1 && word.indexOf("ie")!=-1)
        return true;
    else if(word.indexOf("cei")!=-1)
        return true;
    return false;
}