연습문제 리뷰

Dongwoo Joo·2023년 2월 21일
0

codestates bootcamp

목록 보기
6/48

Summary

  1. 프로그래밍의 기본 문법을 더 학습해야 한다.
  2. psuedo code를 작성하는 습관에서 "문장을 한 단계, 두 단계 더 분해" 하자.

조건문

문제 1

나이를 입력받아 술을 마실 수 있는지(18세 이상) 여부를 리턴해야 한다.
내 답안:

function isOldEnoughToDrink(age) {
let adult;
  if (age >= 18) {
    return true;
    }
  else {
    return false;
  }
}  

  /*
  의사 코드
  1. 18세 이상인가?
  2. "18세 이상입니다."
  출력: true "술을 마실 수 있습니다."
  */
  

피드백: return 사용.
return을 쓰지 않고, console.log()를 작성해서 테스트 실행을 눌렀다.
console.log()는 개발자 도구 콘솔이나, 터미널에 원하는 값을 출력할 수 있게 돕는 method 이다.
코드의 결과값을 확인하거나, 디버깅(에러 확인)할 때 사용한다.
프로그래밍 실행은 return 임을 기억하자.

문제 2

숫자를 입력받아 3, 5로 각각 나눈 나머지 값에 따라 알맞은 메시지 리턴해야 한다.
내 답안:

function fizzBuzz(num) {
  let str;
  if (num % 3 === 0 && num % 5 === 0) {
    return str = "FizzBuzz";
  }

  else if (num % 3 === 0) {
    return str = "Fizz";
  }

  else if (num % 5 === 0) {
    return str = "Buzz";
  }

  else {
    return str = "No FizzBuzz";
  }
}

  /*
  의사 코드
  3으로 나누어 떨어지는 경우, 'Fizz'를 리턴 => if
  5으로 나누어 떨어지는 경우, 'Buzz'를 리턴 => else if
  3과 5로 모두 나누어 떨어지는 경우, 'FizzBuzz'를 리턴 => else if
  3이나 5로 나누어 떨어지지 않는 경우, 'No FizzBuzz'를 리턴 => else
  */
  

피드백:
실수 => num % 3을 if에 사용하고, (num % 3 === 0 && num % 5 === 0)을 else if에 사용했다.
num % 3을 if(가장 첫 조건문)에 사용한다면,
입력값이 15라면, 첫 조건문인 num % 3에서 "Fizz"라고 작성하고 종료될 것이다.
하지만, 문제에서 제시한 출력값은 3과 5로 동시에 나누어지고 나머지가 0 일때는, "FizzBuzz"를 리턴하는 것이다.
따라서, (num % 3 === 0 && num % 5 === 0)를 가장 앞에 사용해야 모든 결과값을 출력할 수 있었다.

문제 3

두 개의 수와 기호를 입력받아 알맞게 계산한 값을 리턴해야 합니다.
내 답안:

function miniCalculator(num1, num2, operator) {

  if (operator === '+') {
  return num1 + num2;
  }

  else if (operator === '-') {
  return num1 - num2;
  }
  
  else if (operator === '*') {
  return num1 * num2;
  }

  else if (operator === '/') {
  return num1 / num2;
  }
  
  else {
  return "사칙연산이 아닙니다.";
  }

  /*
  의사코드
  if 더하기
  else if 빼기
  else if 곱하기
  else if 나누기
  else operator 가 잘못 되었다.
  return = num1 operator num2의 값
  */
}

피드백:
실수 => = 과 === 를 혼동해서 사용했다.
'=' -> 할당
'===' -> 같다(일치 비교 연산자)
같은 실수를 반복하지 말자.

한 줄 요약

컴퓨터가 올바르게 동작하기 위해서는 기본 문법을 엄수해서 명령어를 전달해야 한다.

profile
pursue nature

0개의 댓글