코린이에서 코른이로..(배열과 객체)

양선우·2022년 12월 21일
0

배열

배열은 Array 로
[ ] 로 요소들을 표현한다
요소들을 구분할땐 컴마(,) 로 구분을 하며
요소들의 순서는 인덱스(index)로 구분짓는다.
첫번째는 0부터 시작한다.
배열 또한 설명은 단순하나, 코플릿 문제를 풀어보면서
응용하는 방법이나 사용 방법에 대해서 알게 되었다.

Q. 문제

임의의 값을 입력받아 타입을 리턴해야 합니다.
입력
인자 1 : anything
임의의 값
출력
string 타입을 리턴해야 합니다.
주의 사항
자바스크립트에서 array, null 타입은 존재하지 않지만, 이 둘을 구분하여 출력합니다.

내 풀이

function getType(anything) {
  // TODO: 여기에 코드를 작성합니다.
  if (Array.isArray(anything)) {
    return 'array'
  } else if (anything === null) {
    return 'null';
  } else if (typeof anything === 'string') {
    return 'string';
  } else if (typeof anything === 'number') {
    return 'number';
  } else if (typeof anything === 'object') {
    return 'object';
  } else if (typeof anything === 'boolean') {
    return 'boolean';
  } else if (typeof anything === 'undefined') {
    return 'undefined';
  }  else if (typeof anything === 'function') {
    return 'function';
  } 
}

Reference

function getType(anything) {
  if (Array.isArray(anything)) {
    return 'array';
  } else if (anything === null) {
    return 'null';
  } else {
    return typeof anything;
  }
}

이 문제는 처음 배열에 대해서 접하게 된 문제여서 순수 노가다로 풀었던 문제다..

Q. 문제

배열을 입력받아 배열의 첫번째 요소를 리턴해야 합니다.
입력
인자 1 : arr
임의의 요소를 갖는 배열
출력
배열의 요소를 리턴해야 합니다.
주의 사항
빈 배열을 입력받은 경우, undefined를 리턴해야 합니다.

내 풀이

function getFirstElement(arr) {
  // TODO: 여기에 코드를 작성합니다.
  return arr[0];
}

reference

function getFirstElement(arr) {
  if (arr.length === 0) {
    return undefined;
  }
  return arr[0];
}

이 문제는 주의사항을 고려하지 않았다.. 근데 문제가 풀려서 인지조차 못했었다..

Q. 문제

배열를 입력받아 배열의 마지막 요소를 리턴해야 합니다.
입력
인자 1 : arr
임의의 요소를 갖는 배열
출력
배열의 요소를 리턴해야 합니다.
주의 사항
빈 배열을 입력받은 경우, undefined를 리턴해야 합니다.

내 풀이

function getLastElement(arr) {
  // TODO: 여기에 코드를 작성합니다.
  return arr[arr.length -1];
  
}

Reference

function getLastElement(arr) {
  if (arr.length > 0) {
    return arr[arr.length - 1];
  }
  return undefined;
}

이 문제 또한 쉽게 풀었지만 주의 사항을 보지 않았다..

Q. 문제

배열과 수를 입력받아 수가 인덱스로 가리키는 배열의 요소를 리턴해야 합니다.
입력
인자 1 : arr
임의의 요소를 갖는 배열
인자 2 : index
number 타입의 index (0 이상의 정수)
출력
배열의 요소를 리턴해야 합니다.
주의 사항
빈 배열을 입력받은 경우, undefined를 리턴해야 합니다.
배열의 길이를 벗어나는 수를 입력받은 경우, 'out of index range'를 리턴해야 합니다.

내 풀이

function getNthElement(arr, index) {
  // TODO: 여기에 코드를 작성합니다.
if (arr.length === 0){
  return undefined;
} else if (index>arr.length-1){
  return "out of index range"
} else {
  return arr[index];
}}

Reference

function getNthElement(arr, index) {
  // TODO: 여기에 코드를 작성합니다.
if (arr.length === 0){
  return undefined;
} else if (index>arr.length-1){
  return "out of index range"
} else {
  return arr[index];
}}

이 문제는 페어랑 같이 풀었다 페어분이 친절하게 설명하여 이해가 완벽히 되었다.

Q. 문제

배열을 입력받아 배열의 모든 요소의 합을 리턴해야 합니다.
입력
인자 1 : arr
number 타입을 요소로 갖는 배열
출력
number 타입을 리턴해야 합니다.
주의 사항
입력받은 배열이 빈 배열인 경우, 0을 리턴해야 합니다.

내 풀이

function computeSumOfAllElements(arr) {
  // TODO: 여기에 코드를 작성합니다.
  let result = 0;
  if(arr.length === 0){
    return 0;
   }else {  
     for(let i = 0; i<arr.length; i++){
    result += arr[i];
     }
}
return result;
  }

Reference

function computeSumOfAllElements(arr) {
  let sum = 0;
  for (let i = 0; i < arr.length; i++) {
    sum = sum + arr[i];
  }
  return sum;
}
profile
코딩이 하고 싶은 사람

0개의 댓글