Javascript Exam

Jungyub Song·2020년 5월 3일
0

1) is_Even

짝수인지 판별하는 함수 is_even을 작성하는 예제이다.

function is_even(num) {
  if (num % 2 == 0) {
    return "짝수 입니다"
  } else {
    return "짝수가 아닙니다"
  }
}

console.log(is_even(11))
console.log(is_even(10))

함수명 is_even은 num이라는 매개변수를 받고,
함수 내에서 num을 2로 나누었을 때 나머지 값이 0이라면 짝수라는 사실을 return,
나머지 경우에는 짝수가 아니라는 사실을 return하는 코드이다.

2) get_prefix

문자열이 주어졌을 때, "-"를 기준으로 앞에 있는 문자열을 반환하는 함수를 구현하여야 한다.

function get_prefix(data) {
  let firstChar = data.indexOf("-");
  if (firstChar !== -1) {
    data = data.slice(0, firstChar);
  } return data;
}
console.log(get_prefix('BTC-KRW'));

indexOf method를 통해 매개변수 data에 "-"가 포함되어 있는 지를 확인한 후,
포함되어 있다면 해당 문자열의 첫 번째 자리부터 "-" 직전 자릿수까지만 반환하는 slice method를 사용하였다.

3) calcuate_total

팁과 세금을 제외한 식사값이 주어졌을 때, calculate_total 함수를 작성하는 예제이다.

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

function calculate_total(price) {
  function calculate_tax(price) {
    return price * 0.095;
  }
  function calculate_tip(price) {
    return price * 0.15;
  }
  return price + calculate_tax(price) + calculate_tip(price);
}

console.log(calculate_total(20));

calculate_total 함수 내에 calculate_tax와 calculate_tip 함수를 각각 만들어 이에 대한 값들의 합을 return하는 식으로 팁과 세금이 포함된 총 식사값을 구하는 함수를 작성하였다.

4) get_find

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

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

function get_find(a, stringOf) {
  let firstChar = stringOf.includes(a);
  for (let i in stringOf) {
    if (!firstChar) {
      return -1;
    } else if (stringOf[i] == a) {
      return Number(i);
    }
  }
}
const output = get_find('a', 'I am a hacker');
console.log(output);

우선 주어진 문자열이 주어진 문자를 포함하는 지를 includes method를 사용하여 확인한 후, 반복문을 통해 포함하지 않는 경우 -1을 return하였다.
문자열이 문자를 포함한다면, 해당 문자열의 index값을 return하게 하였고 해당 값의 특성을 숫자로 만들어주기 위해 Number를 붙여주었다.
또 다른 방법으로는 split("")를 통해 문자열의 문자 하나하나를 나눠서 배열로 만든 후 이를 반복문을 통해 구하는 방식이 있다.

5) find_longestword

주어진 리스트 안에 있는 단어 중 가장 긴 단어를 찾을 수 있는 함수를 완성하는 문제이다.

function find_longest_word(arr) {
  let max = arr[0];
  for (let i in arr) {
    if (max > arr[i]) {
      max = arr[i];
    }
  } return max
}

console.log(find_longest_word(["PHP", "Exercises", "Backend"]));

우선 주어진 리스트의 첫 번째 인덱스에 해당하는 값을 max라는 변수로 선언하였다.
반복문을 사용하여 max가 arr 배열의 i번 째 인덱스보다 클 경우(string의 length가 더 길 경우), "max = arr의 i번 째 인덱스"라는 공식을 넣었다. 이를 통해 가장 긴 단어를 가진 값이 max에 들어가게 될 것이므로, 이를 return하면 된다.

0개의 댓글