wecode [TIL]

[TIL] Wecode 중간고사 (JavaScript)

프린벼르 2022. 2. 13. 01:03

지난 11일에 중간고사를 보았다. 1시간동안 5문제를 푸는 것이고, 결과에 연연하기 보다는 여태껏 배운 개념을 활용해서 얼마나 아는지 체크하라는 목적으로 위코드에서 중간고사를 내었다. 1시간이라는 시간이 주어졌고, 그동안 배운 JavaScript지식의 양은 방대해서 잘 풀어내지 못할까봐 조금 무서웠다. 하지만 막상 살펴본 문제는 오히려 레플릿 문제보다는 쉬운 난이도였던 것 같다. 


중간고사 1번 문제

짝수인지 판별하는 함수이기에 2로 나누었을때, 나머지가 0이 되지않으면 홀수로 판단을 하고 0이라면 짝수로 판단하는 함수를 만들어주면 되겠다고 생각했다.
function isEven(num) {
  // 아래 코드를 입력해주세요.
  let answer = '';
  if(num % 2 === 0){answer = `짝수 입니다.`}
  else {answer = '짝수가 아닙니다.'}
  return answer;
}​
그래서 이렇게 작성해주었다.

중간고사 2번 문제

식사값에 팁과 세금을 계산해서 더해주면 되겠다고 생각을 했다. 그래서 바로 아래와같이 함수를 구현했다.
function calculateTotal(amount) {
  // 아래 코드를 작성해주세요.
  return answer = (amount+(amount*0.095)+(amount*0.15));
}​
간단하게 한 줄로 구현을 해보았다.

중간고사 3번 문제

- 를 기준으로 앞의 문자열을 반환하라는 부분에서 split()메소드를 사용하면 되겠다고 생각했다. (split은 배열로 변환해주니까..)
function getPrefix(str) {
  // 아래 코드를 작성하세요.
  let s = str.split('-');
  return s[0];
}​
그리고 앞의 문자열을 반환하는 것이니까 배열의 맨앞은 0부터 시작하는 것이라 [0]을 넣어줬더니 통과했다.

중간고사 4번 문제

당연히 문자의 위치를 반환하라해서 indexOf함수를 사용하려 했다. 하지만 문제의 제한 조건에 indexOf함수를 사용하지말라고 되어있어서 잠깐 당황했었다. 하지만 아무리 생각해도 대체할 수 있는 함수가 떠오르지않았고, 구글선생에게 물었다. 구글선생은 나에게 search함수가 있다고 알려주었다. 그래서 아래와같이 코드를 작성했다.
function getFind(filter, sentence) { 
  // 아래 코드를 작성해주세요.
  return sentence.search(filter);
}​
잘 작동한다. 

코드 작동하면 콘솔로그에 정상적으로 2가 찍힘


중간고사 5번(마지막) 문제

배열안의 값들 중 가장 긴 단어를 찾는 함수를 만들으라는 말에서 "for ... of" 를 떠올렸다
function find_longest_word(arr) {
  // 아래 코드를 구현해주세요.
  let answer = '';
  for(let x of arr){
    if(answer.length < x.length){
      answer = x;
    }
  }
  return answer;
}​

 

콘솔 로그가 정상적으로 잘 찍힘