Алгоритм кодовых войн
Проблема
Кто помнит свое время на школьном дворе, когда девочки брали цветок и рвали его лепестки, произнося каждую из следующих фраз каждый раз, когда отрывался лепесток.
꽃잎을 찢을 때마다 다음 문구를 말한다.
- я тебя люблю
- маленький
- много
- страстно
- безумно
- нисколько
Ваша цель в этой ката — определить, какую фразу девушки сказали бы о цветке с заданным количеством лепестков.
꽃잎 수가 주어지면, 해당 꽃잎의 문구를 결정해라.
Решение 01
function howMuchILoveYou(nPetals) { const phrase = [ 'I love you', 'a little', 'a lot', 'passionately', 'madly', 'not at all' ]; return phrase[(nPetals - 1) % phrase.length]; } howMuchILoveYou(1); // I love you howMuchILoveYou(2); // a little howMuchILoveYou(3); // a lot howMuchILoveYou(4); // passionately howMuchILoveYou(5); // madly howMuchILoveYou(6); // not at all howMuchILoveYou(7); // I love you
Решение 02
function howMuchILoveYou(nPetals) { const phrase = { 0: 'not at all', 1: 'I love you', 2: 'a little', 3: 'a lot', 4: 'passionately', 5: 'madly' }; return phrase[nPetals % 6]; } howMuchILoveYou(1); // I love you howMuchILoveYou(2); // a little howMuchILoveYou(3); // a lot howMuchILoveYou(4); // passionately howMuchILoveYou(5); // madly howMuchILoveYou(6); // not at all howMuchILoveYou(7); // I love you