8. 변수와 조건문 복습 문제풀이

Lia·2023년 4월 19일
0

문제 1)첫 번째 인자에 2를 곱하는 함수 multiplyBy2와 비슷하게 첫 번째 인자를 2로 나누는 함수 divideBy2를 선언하세요.

함수는 두가지 방식으로 선언될 수 있다고 하는데 두 방법은.. 함수를 선언하고, 함수를 표현하는차이인데..
호이스팅이 되냐안되냐의 차이라고 한다. 아직은 함수를 안배워서 모르겠지만. 함수를 선언한것과 변수에 함수를 할당했다 라는 것 까지만 이해 하기로 했다. ^^

답)
function multiplyBy2(input) {
  input = input * 2;
  return input;
}

let divideBy2 = function(input) {
  input = input / 2;
  return input;
}

문제2) 두 단어를 입력받아 두 단어의 평균 길이를 내림하여 리턴해야 합니다.

나의 답은

function computeAverageLengthOfWords2(word1, word2) {
  word1 = word1.length
  word2 = word2.length
  average = (word1 + word2) / 2;
  return Math.floor(average);
}

이것이었지만 더 간단하게 가능했다.

function computeAverageLengthOfWords2(word1, word2) {
  let average = (word1.length + word2.length) / 2;
  return Math.floor(average);
}

.length 속성으로 문자의 길이를 파악가능하니까. . 저렇게 쓰고 Math 객체를 사용해보았다.
음 속성과 객체를 써볼수 있는 문제라서 흥미로웠다.

문제3) 직각삼각형(pythagorean)인지 여부를 리턴해야 합니다. 제곱(x squared)을 구하는 방법은 3가지 입니다. 세 가지 방법을 모두 사용해야 합니다.

답)function isPythagorean(side1, side2, side3) {
  const side1Squared1 = side1 * side1 ;
  const side1Squared2 = side2 ** 2 ;
  const side1Squared3 = Math.pow(side3, 2);
  
  return side1Squared1 === side1Squared2 + side1Squared3 ||
  side1Squared2 === side1Squared1 + side1Squared3 ||
  side1Squared3 === side1Squared1 + side1Squared2 ;
  }

이 문제를 이해하는데 조금 걸렸다. 일단 제곱근을 구하는 방법3가지를 쓸수있다는 것을 알게됐고.
처음에는 side1 = side1 * side1 이렇게 해서 side1에 제곱값을 할당해주었는데..
side1의 제곱을 저장하기 위해 side1Squared이라는 새로운 변수를 사용하는것이 올바른것을 알게됐다..!!
음. 새로운 변수를 만드는것. . . . ! 기억하자.

겨우 8일차인데 벌써 지쳐버렸다.
참 어이가 없다. 운동도 다시 시작하고 하루에 최선을 다하는것이다.
그냥 하루씩 그냥 하루만 최선을 다하다보면 좋은 결과 내가 원하는 결과에 다다를것이라는 것 무족권~ 알고있다.
열심히 하자~? :)

profile
https://lia-portfolio.vercel.app/

0개의 댓글