JavaScript 중간시험 리뷰

류예린·2022년 7월 29일
0
post-custom-banner

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

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

A. 나머지 값을 구하는 연산자와 if문을 활용한다.

function isEven(num) {
  // 아래 코드를 입력해주세요.
  if (num%2 === 0) {
    return "짝수 입니다."
  } else if (num%2 === 1) {
    return "짝수가 아닙니다."
  }
}

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

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

A. 주어진 parameter를 활용해 팁과 세금을 계산하여 return.

function calculateTotal(amount) {
  // 아래 코드를 작성해주세요.
  // const tax = 
  const result = amount + (amount * 0.095) + (amount * 0.15)
  return result
}

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

A. split함수는 특정 기호를 기준, index 값도 제공한다. 하이픈 기호 이전 문자열을 반환하기 위해 [0]을 명시하여 값을 return한다.

function getPrefix(str) {
  // 아래 코드를 작성하세요.
  return str.split("-")[0]
}

Q4) getFind 함수를 작성하세요. 문자와 문자열이 주어졌을때, getFind 함수는 주어진 문자열에서 주어진 문자가 나타나는 첫번째 위치를 반환합니다. Notes: 문자열의 첫번째 문자는 인덱스 값 0 을 가집니다. 만약 문자열에 해당 문자가 여러번 나타나면, 첫번째로 나타나는 위치를 반환해야 합니다. 만약 문자가 문자열에 존재하지 않는다면, -1 을 반환해야 합니다. ( indexOf 함수를 사용하지 마세요)

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

A. 주어진 parameter 두 가지 filter와 sentence에 모든 힌트가 담겨 있다. for문을 사용해 쉽게 값을 찾아낼 수 있다.

function getFind(filter, sentence) { 
  // 아래 코드를 작성해주세요.
  for (let i=0; i<sentence.length; i++) {
    if (sentence[i] === filter) {
      return i
    }
  }
  return -1
}

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

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

A. 주어진 parameter인 array와 for문으로 검사한 array 요소들을 비교하여 return한다. parameter의 array를 변수로 정의하여 값을 비교해야 하는 점이 중요하다.

function find_longest_word(arr) {
  // 아래 코드를 구현해주세요.
  let maxLength = arr[0]
  for (i=0; i<arr.length; i++) {
    if (arr[i].length > maxLength.length) {
      return maxLength = arr[i]
    }
  }
  return maxLength
}

profile
helloworld
post-custom-banner

0개의 댓글