lovePetals.js (8kyu 52)

Codewars 알고리즘 풀이


Problem

  • If one of the flowers has an even number of petals and the other has an odd number of petals it means they are in love.
    • 두 꽃 중 한 꽃에 짝수 개의 꽃잎, 다른 꽃에 홀수 개의 꽃잎이 있다면 사랑에 빠졌다는 의미이다.
  • Write a function that will take the number of petals of each flower and return true if they are in love and false if they aren’t.
    • 사랑에 빠졌다면 true, 그렇지 않으면 false를 반환한다.


Solution 01

function lovePetals(flower1, flower2) {
  if (flower1 % 2 === 0 && flower2 % 2 === 1 || flower1 % 2 === 1 && flower2 % 2 === 0) {
    return true;
  } else {
    return false;
  }
}

lovePetals(1, 4);  // true
lovePetals(2, 4);  // false


Solution 02

function lovePetals(flower1, flower2) {
  let even_f1 = flower1 % 2 === 0;
  let even_f2 = flower2 % 2 === 0;
  let odd_f1 = flower1 % 2 === 1;
  let odd_f2 = flower2 % 2 === 1;
  
  if (even_f1 && odd_f2 || odd_f1 && even_f2) {
    return true;
  } else {
    return false;
  }
}

lovePetals(1, 4);  // true
lovePetals(2, 4);  // false


Solution 03

function lovePetals(flower1, flower2) {
  return (flower1 + flower2) % 2 === 1;
}

lovePetals(1, 4);  // true
lovePetals(2, 4);  // false


Solution 04

function lovePetals(flower1, flower2) {
  return flower1 % 2 !== flower2 % 2;
}

lovePetals(1, 4);  // true
lovePetals(2, 4);  // false


Solution 05

function lovePetals(flower1, flower2) {
  let f1 = flower1 % 2;
  let f2 = flower2 % 2;
  
  return f1 !== f2;
}

lovePetals(1, 4);  // true
lovePetals(2, 4);  // false