TIL | JS Midterm Exam

cos·2022년 2월 12일
0
post-thumbnail

1. isEven 🔒

짝수인지 판별하는 함수 isEven을 작성하자.

// ex)
console.log(isEven(10)); // -> '짝수 입니다.'
console.log(isEven(11)); // -> '짝수가 아닙니다.'

Answer 🔑

function isEven(num) {
  if (num % 2 === 0) {
    return '짝수 입니다.';
  } else {
    return '짝수가 아닙니다.';
  }
}

간단한 if문으로 해결하였다. isEven(num)num 파라미터를 2로 나누었을 때 나머지 값이 0이면 짝수이므로 짝수 입니다.return한다.


2. calculateTotal 🔒

calculatTotal 함수를 작성하자.
팁과 세금을 제외한 식사값이 주어졌을 때, calculateTotal 함수는 팁과 세금이 포함된 총 식사값을 반환한다.

  • 세금은 9.5%, 팁은 15%로 계산할 것.
  • 팁을 계산할 때 세금을 포함하여 계산하지 말 것.
// ex)
console.log(calculateTotal(20)); // -> 24.9

Answer 🔑

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

가격 * 퍼센트 / 100은 퍼센트 계산법이다. 퍼센트 계산법을 이용하여 문제를 풀 수 있다. calculateTotal(amount)amount 파라미터가 퍼센트 계산법의 가격이다. 따라서 퍼센트 계산법을 이용한 코드를 만들었다. taxtip을 더하여 totalAmountreturn하였다.


3. getPrefix 🔒

getPrefix 함수를 작성하자.
문자열이 주어졌을 때, -를 기준으로 앞에 있는 문자열을 반환하자.

// ex
console.log(getPrefix('BTS-KRW')); // -> BTS

Answer 🔑

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

strsplit 메소드를 사용하여 문제를 풀었다.


4. getFind 🔒

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

  • 문자열의 첫 번째 문자는 index0을 가진다. 만약 문자열에 해당 문자가 여러 번 나타나면, 첫번 째로 나타나는 위치를 반환해야 한다. 만약 문자가 문자열에 존재하지 않는다면, -1을 반환해야 한다.
  • indexOf함수를 사용하지 말 것.
// ex)
const output = getFind('a', 'I am a hacker');
console.log(output); // -> 2

Answer 🔑

function getFind(filter, sentence) {
  for (let i = 0; i < sentence.length; i++) {
    if (filter === sentence[i]) {
      return i;
    }
  }
  return -1;
}

for 반복문을 통해 sentence파라미터의 index을 한 문자씩 반환하여filter 파라미터가 sentence 파라미터에 몇 번째 index랑 동일하게 일치하는지 확인해 주는 함수를 작성하였다.


5. findLongestWord 🔒

find_longest_word 함수를 만들어보자.
주어진 리스트 안에 있는 단어 중 가장 긴 단어를 찾을 수 있도록 함수를 완성하자.

// ex)
console.log(find_longest_word(['PHP', 'Exercises', 'Backend'])); // -> 'Exercises'

Answer 🔑

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

longestWord라는 이름으로 arr의 첫번째 배열에 있는 값으로 지정하였다. 가장 긴 단어를 찾기 위해 비교할 기준값이 필요하기 때문이다. arr의 배열과 계속 비교하면서 값이 더 클 경우 그 배열의 값이 longestWord의 값이 된다. 최종적으로 가장 긴 값을 반환한다.

profile
The journey is the reward

0개의 댓글

관련 채용 정보