TIL 09. JavaScript - Repl.it 오답노트

서동이·2021년 3월 21일
1

CodeKata

목록 보기
4/5
post-thumbnail

풀면서 이해가 안되거나 많이 틀린 문제들을 오답노트형식으로 작성하였다.

14. 데이터 반환하기: return

Assignment: index.js에서 getTotal 함수를 만들어주세요.

getTotal 함수는 가격을 2개 받아서 calculateTotal 호출 반환값을 더해서 리턴하는 함수입니다.

  • getTotal 이라는 이름의 함수를 만들어주세요. 가격정보 2개를 인자로 받습니다.
  • 인자이름은 원하는대로 지어주셔도 됩니다.
  • getTotal 함수에서 인자로 받은 가격으로 각각 calculateTotal 함수를 호출해주세요. 그리고 그 결과값을 더해서 반환해주세요.

참고사항

  • getTax 함수는 가격의 tax를 구하는 함수입니다.
  • calculateTotal 함수는 상품의 가격에 tax를 더한 값을 구하는 함수입니다.
  • getTotal 함수는 두 상품의 가격을 더해서 반환하는 함수입니다.
function getTax(price) {
  return price * 0.1;
}

function calculateTotal(price) {
  return price + getTax(price);
}

let result = calculateTotal(3500);

//내답
function getTotal(p1, p2) {
 return (p1+calculateTotal(price)) + (p2 +calculateTotal(price)); 
} //딩연히 오류가 떴다. array에서 묶을때 '()'쓰길래 당연히 함수에서도 될줄 안듯.

console.log (3000, 4000); //왜 함수를 호출하지 않았는지가 의문;;;;;

//모답
//assignment
function getTotal(p1, p2) {
 return calculateTotal(p1)+ calculateTotal(p2); 
}

getTotal(3000, 4000); 

16. for문을 이용한 배열의 최소값*최대값 찾기

배열의 최대 최소값을 구하려면 1. 함수를 사용하거나 2. for문으로 구현하는 두 가지 방법을 생각할 수 있습니다.

Assignment: findSmallestElement 함수를 구현해 주세요.

  • findSmallestElementarr 인자는 숫자 값으로만 이루어진 배열입니다.

  • arr 의 값들 중 가장 작은 값을 리턴 해주세요.

  • 만일 arr 가 비어있으면 0을 리턴 해주세요.

  • 예를 들어, 다음과 같은 배열이 인자(input)으로 들어왔다면 1이 리턴 되어야 합니다.

    [20, 200, 23, 1, 3, 9]

// 내답노답

let arr= [1, 9, 4, 2, 3, 21];

function findSmallestElement(arr) {
  
 for(let i =0; i < arr.length; i++) {
   if(arr.length=== 0){
   return 0;
   } else if(arr[i] <= min){
   min = arr[i]
   }
  } return min;
} 

2-1. 최대값을 구하는 Math.max 함수와 최소값을 구하는 Math.min() 함수

최대값 또는 최소값을 구하기 위해서 Function.prototype.apply()를 사용할 수 있습니다.

var myArray = [-3, -2, 1, 3, 5]
var min = Math.min.apply(null, myArray); //-3

2-2. loop문을 이용해서 최대값*최소값 구하는 방법

2-2-2. 모답1> 배열 할당 후 최소*최대값 찾기

var myArray = [-10, -1, 0, 1, 10];
for(var i = 0; i < myArray.length; i++) {
  // minNum 값이 없는 경우 현재 배열값으로 지정
  if (!minNum) {
    minNum = myArray[i];
  };

  // minNum의 값과 현재 값을 비교해서 minNum값을 가장 작은 값으로 유지
  if (minNum > myArray[i]) {
    minNum = myArray[i];
  }
}

console.log(minNum);

출처
https://webisfree.com/2018-01-23/자바스크립트-배열값-중에서-최대값-최소값-찾는-방법

2-2-2. 모답2> 최소값을 변수로 설정 후 임의의 배열 할당

function findSmallestElement(arr){

  if(arr.length === 0) {
    return 0; //빈 배열이면 0을 리턴
  } else { 
    let min = arr[0];
    // 변수 min에 배열의 아무 값을 임의로 설정. (가상의 최솟값)
    for (i = 0 ; i < arr.length; i++) {
      if (arr[i] < min ) {
        min = arr[i];
      } 
    } return min;  
  }
  findSmallestElement([2000000, 30, 5, 7, 200, 1, 0, 9])
//0 리턴 ;

출처
https://velog.io/@rimu/%EC%9E%90%EB%B0%94%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8-for%EB%AC%B8%EC%9D%84-%EC%9D%B4%EC%9A%A9%ED%95%98%EC%97%AC-%EB%B0%B0%EC%97%B4%EC%9D%98-%EC%B5%9C%EC%86%9F%EA%B0%92-%EA%B5%AC%ED%95%98%EA%B8%B0

profile
오늘도 여전히 사고친걸 해결해본당,,

0개의 댓글