[TIL] JavaScript Test 정리

kiyeol·2020년 12월 30일
0

JavaScript Test

위코드에서 한시간동안 자바스크립트 중간 시험을 봤는데, 총 5문제가 주어졌다. 그것들을 한번 정리해 보려고 한다.

1) 짝수인지 판별하는 함수 is_even을 작성 주세요.

console.log(is_even(11)) // --> "짝수가 아닙니다"
console.log(is_even(10)) // --> "짝수 입니다"
function isEven(num) {
  return (num % 2) ? "짝수가 아닙니다" : "짝수 입니다";
}

삼항연산자를 이용해서 num을 2로 나눈 나머지를 조건문으로 해서 짝수와 홀수를 구분해서 해결하였다.

2) "getPrefix" 함수를 작성하세요.

문자열이 주어졌을때, "-"를 기준으로 앞에 있는 문자열을 반환하는 문제

console.log(getPrefix('BTC-KRW')) // --> BTC

function getPrefix(str) {
  const arr = str.split('-');
  return arr[0];
}

BTC-KRW를 split으로 '-' 기준으로 배열로 만들고 0번째에 있는 배열을 리턴하여서 문제 해결!!

3) "calculateTotal" 함수를 작성하세요.

팁과 세금을 제외한 식사값이 주어졌을때, "calculateTotal" 함수는 팁과 세금이 포함된 총 식사값을 반환

Notes:
세금은 9.5% 팁은 15% 로 계산하세요.
팁을 계산할때 세금을 포함하여 계산하지 마세요.

console.log(calculateTotal(20)); // --> 24.9

function calculateTotal(num) {
  const tax = (num * 9.5) / 100;
  const tip = (num * 15) / 100;
  return num + tax + tip;
}

인자로 받은 num에 9.5를 곱하고 100으로 나누기 한 다음에 num + tax + tip을 하여 문제를 해결 하였다.
** 퍼센트 계산 = 전체값 X 퍼센트 ÷ 100
하지만 모델 솔루션은 더 짧게 잘 되어 있던거 같다.

4) "getFind" 함수를 작성하세요.

문자와 문자열이 주어졌을때,
"getFind" 함수는 주어진 문자열에서 주어진 문자가 나타나는 첫번째 위치를 반환

Notes:
문자열의 첫번째 문자는 인덱스 값 0 을 가집니다.
만약 문자열에 해당 문자가 여러번 나타나면,
첫번째로 나타나는 위치를 반환해야 합니다.
만약 문자가 문자열에 존재하지 않는다면, -1 을 반환해야 합니다.
indexOf 함수를 사용 X

const output = getFind('a', 'I am a hacker')
console.log(output) // --> 2

function getFind(index,str) {
  return (str.includes(index)) ? str.search(index) : -1
}

삼항연산자와 includes, search라는 메소드를 이용하여 문제를 하였다.
우선 I am a hacker 라는 문자열에 a라는 문자가 포함이 된다면 search를 이용해 a가 몇번째에 있는지 알려주고 그렇지 않다면 -1을 반환하게 해서 문제를 해결하였다.

5) find_longest_word 함수를 완성하여라

주어진 리스트안에 있는 단어중 가장 긴 단어를 찾을수 있도록 함수를 완성해주세요.

console.log(find_longest_word(["PHP", "Exercises", "Backend"]))
// --> "Exercises"

function find_longest_word(arr) {
  let maxLength = arr[0]; 
  arr.forEach((item) => {
    if(item.length > maxLength.length) {
      maxLength = item;
    }
  });
  return maxLength;
}

maxLength라는 변수를 만들어서 그곳에 첫번째 배열 값을 넣고 반복문을 이용해서 maxLength보다 item.length가 더 크면 item을 maxLength에 넣고 반환해준다.

profile
kyday63@gamil.com

0개의 댓글