JS 테스트 오답노트

DY·2021년 8월 15일
0
post-thumbnail

JS 테스트 문제 오답노트 기록.
내가 정말 부족하구나 느꼈던 테스트였고, 내 힘으로 풀지못했다고 생각했던 문제는 답안 제출도 하지않았다.

시간에 구애받지 않고 문제를 하나하나 풀이해보니, 지금의 내가 그때의 나였다면 좋았을걸 아쉬움도 남는다. 그리고 생각했던 풀이과정으로 직접 구현해보니 뿌듯하고 기쁘기도했다.

1️⃣ 주어진 문장에서 특정 문자 Index를 찾는 함수 만들기

  • 조건: index of 사용 불가
function getFind(filter, sentence){
  let arr = sentence.split("");
  let findFilter = arr.findIndex((element) => element === filter);
  console.log(findFilter)
};
  • 풀이과정
  1. 주어진 문장을 split을 이용하여 한 글자씩 배열화
  2. 새로만든 배열에 findIndex를 이용하여 문제로 받은 특정문자의 Index를 반환

2️⃣ 주어진 배열에서 가장 긴 단어를 찾는 함수 만들기

풀이 1.

function find_longest(arr){
  let arr2 = [];
  for(let i = 0; i < arr.length; i++){
    let arrLength = arr[i].length;
    arr2.push(arrLength);
  };
    let maxLongest = Math.max.apply(null, arr2);
    return arr.filter(word => word.length === maxLongest)[0]
};
  • 풀이 과정
  1. 주어진 배열의 각 항목들의 length값을 갖는 새로운 배열을 for문을 이용하여 만든다.
  2. 새로운 배열에서 가장 큰 수(가장 긴 단어의 length값)를 찾은 다음, 그 값에filter를 이용하여 가장 긴 단어를 항목으로 가지는 배열을 추출한다. 그 배열의 첫 번째 항목을 반환한다.

풀이 2.

function find_longest(arr){
  let longest = arr[0];
  for(let i = 0; i < arr.length; i++){ 
    if(longest.length < arr[i].length){
    longest = arr[i];
   } 
  }
  return longest;
};
  • 구글링해서 찾은 좀 더 간단한 방법. 이걸 보니 내가 빙빙 둘러가서 문제를 풀었다는 생각이 들었다. 문제 풀이 과정에서 생각이 너무 꼬이면, 다른 면에서 간단한 방법을 찾을 수 있다는 것도 염두해두자.

😂 문제를 맞추고 틀리고를 떠나 테스트 과정 자체가 나에게 안좋은 감정들을 안겨주었던 시간이었다.
이 감정들을 잘 추스려 발전의 기반으로 삼는 것이 지금 위코드 기간에 정말 필요한 멘탈일 것이다. 배우는 과정에서 알게되는 나의 부족함에 많이 좌절하지말자. 어제보다 발전하는 오늘과 내일 속에서 나 자신에 대한 의심보다는 믿음을 가지고 헤쳐나가자. 빠생!

profile
본질은 개발자 그 자체가 아니라, 개발을 임하고 해내는 방식에서 드러난다.

0개의 댓글