Retrospection/Sprint

$-1 함수 1~3

카트먼 2020. 6. 26. 16:13

1.

문제를 어떻게 해결할지에 대한 고민을 알고리즘 이라고 한다. 함수는 문제해결을 위한 고민을 논리적으로 풀어내는 하나의 단위 .

함수는 입력을 받아 출력을 하는 하나의 작은 기능단위 . 

function getRunCatDistance(speed, time) {
  let distance;
  // TODO: 속력(speed), 시간(time)이 숫자로 주어졌을 때, 이동한 거리를 변수 distance에 할당하여 반환하는
  // getRunCatDistance 함수를 작성하세요.
  return distance;
}

distance 에다가 매개변수인 speed 와 time 을 곱해주었다 .  

function getRunCatDistance(speed, time) {
  let distance = speed * time ;
  // TODO: 속력(speed), 시간(time)이 숫자로 주어졌을 때, 이동한 거리를 변수 distance에 할당하여 반환하는
  // getRunCatDistance 함수를 작성하세요.
  return distance;
}

그리고 distance 를 리턴한다.

 

 

2.

함수에는 함수 선언식과 함수 표현식이 있다. 

문제에 나온것은 함수 선언식. 

 

function multiplyBy2(input) {
  input = input * 2;
  return input;
}
// TODO : 첫 번째 인자에 2를 곱하는 함수 multiplyBy2와 비슷하게
// 첫 번째 인자를 2로 나누는 함수 divideBy2를 선언하세요.

 

function divideBy2(input2){
    input2 = input2 / 2;
    return input2;
}

위의 식과 비슷하게 만들으라고 해서 구성을 똑같이 만들었다 . 

매개변수 이름을 input2 라고 하였고 

divideBy2 함수 안에 input2 변수에 input2 / 2 표현식을 할당해주었다 . 

그래서 input 2를 리턴하면 input2를 2로 나눈값이 리턴될것이다. 

 

 

3.

함수 returnWordWithJoy의 첫 번째 인자로 문자열 "I love coding"을 넣어서 실행하고, 그 결과값을 변수 word에 할당하세요.

변수에 함수가 담겨있다면, 다른 변수와는 다르게 () 괄호를 붙여서 함수를 실행할 수 있다. 

괄호 안에 입력값을 넣어줄수 있다.

이 입력값을 전달인자(argument) , 줄여서 인자 라고 부른다 

// 아래 코드는 변경하지 마세요
function returnWordWithJoy(word) {
  if (typeof word !== 'string') {
    return 'wrong type';
  } else {
    return word + '!';
  }
}

 

let word = returnWordWithJoy("I love coding");

let word라는 변수를 설정하고 그안에 함수를 실행한다. 

함수 실행은 함수 뒤에 괄호를 붙이면 실행할 수 있는데 

이 괄호 안에 인자를 넣어주었다. 

문제에서 첫번째 인자로 문자열을 넣어서 실행하라고 해서 20분 정도 페어랑 헤맸었는데 

간단하게 그 안에 "I love coding" 이라는 문자열을 넣기만 하는 되는 것 이였다 . 

 

기본적인 단어랑 정의 , 역할이 제대로 정립이 안되어있어서 더 헤맸던것 같다. 

이런 간단한 문제도 이해가 안되서 못푸는것은 

진짜 기본기가 중요하다는 뜻이다. 

기초가 탄탄해야 한다. 

스프린트 풀때 단순히 테스트만 통과한다고 넘어가지 말고 

왜 이게 통과했는지 확인하고 레퍼런스도 보면서 내 코드와 비교해보기도 해야겠다.