짝수인지 판별하는 함수 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하는 코드이다.
문자열이 주어졌을 때, "-"를 기준으로 앞에 있는 문자열을 반환하는 함수를 구현하여야 한다.
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를 사용하였다.
팁과 세금을 제외한 식사값이 주어졌을 때, 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하는 식으로 팁과 세금이 포함된 총 식사값을 구하는 함수를 작성하였다.
문자와 문자열이 주어졌을 때, 주어진 문자열에서 주어진 문자가 나타나는 첫번 째 위치를 반환하는 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("")를 통해 문자열의 문자 하나하나를 나눠서 배열로 만든 후 이를 반복문을 통해 구하는 방식이 있다.
주어진 리스트 안에 있는 단어 중 가장 긴 단어를 찾을 수 있는 함수를 완성하는 문제이다.
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하면 된다.