Retrospection/Sprint

0. 조건문 9 , 10

카트먼 2020. 6. 28. 10:32

9.

Write a function called "or". ("or" 함수를 작성하세요.)

 

Given 2 boolean expressions, "or" returns true or false, corresponding to the || operator. (boolean 두개가 주어졌을때, "or" 함수는 || 연산자에 대응하는 true 나 false 를 반환합니다.)

Notes:

  • Do not use the || operator. (|| 연산자를 사용하지 마세요.)
  • Use ! and && operators instead. (대신 ! 와 && 연산자를 사용하세요.)
function or(expression1, expression2) {
  // 여기에 코드를 작성하세요
}
function or(expression1, expression2) {
    if(expression1 === true && expression2 === true ){
        return true;
    }else if(expression1 === true && expression2 === false){
        return true;
    }else if(expression1 === false && expression2 === true){
        return true;
    }else if(expression1 === false && expression2 === false){
        return false 
    }
}

 

 

솔직히 이문제가 원하는게 뭔지 모르겠어서 ..

아예 시작도 못하고 있다가 , 레퍼런스 보고 이해했다 

왜이렇게 문제 자체가 이해가 안갈까? 

이게 사실 굉장히 쉬운 문제인데 ||연산자를 쓰지 않고 or연산을 해내는 함수를 만드는거니까 

이해가 안갈 법도 하다 . 

스프린트 풀면서 느낀건데 , 좀더 논리적으로 다양하게 생각하는 방법이 필요한 것 같다. 

 

 


10.

 

Given two numbers, 'isEitherEvenAndLessThan9' returns whether at least one of them is even, and, both of them are less than 9. 

 

function isEitherEvenAndLessThan9(num1, num2) {
  // 여기에 코드를 작성하세요
}
function isEitherEvenAndLessThan9(num1, num2) {
    if((num1%2 === 0 || num2%2 === 0) && (num1 < 9 && num2 < 9)){
        return true ;
    }else {
        return false;
    }
}

이 문제는 처음풀때는 좀 어려웠었는데 두번째 푸니까 아주 쉬웠다. 

괄호를 사용하여 여러가지 표현식을 중첩해서 사용할수 있다. 

 

function isEitherEvenAndLessThan9(num1, num2) {
  if (num1 < 9 && num2 < 9) {
    if (num1 % 2 === 0 || num2 % 2 === 0) {
      return true;
    }
    return false;
  }
  return false;
}

위에는 레퍼런스인데 

if문 안에 중괄호로 따로 if문을 빼서 조건문을 만든 방법이다. 

내 코드보다 알아보기 쉽다. 

코드를 나혼자 알아볼수 있게 하지말고 

누구나 알아보기 쉽게 짜는게 더 좋을것 같다.