위코드에서 2주차 마지막날에 자바스크립트 중간 시험이 있었다.
아무리 멘토님들께서 평가하는게 아니라고 말씀하시고 긴장을 풀어주셨어도 안그래도 스스로 떨어진다 느끼고 있었는데 내 자신이 평가하게 되니 스스로 부족함을 마주하기 앞서서 두려웠다.
다행히 리플릿 3번 복습 결과 문제는 다 풀었지만 다른 동기님들과 얘기해보니 더 깔끔하고 쉬운 방법이 있더라 아직은 그 정도 구현 능력이 안되는지라 배웠던 부분 제대로 이해하고 넘어가고 있다는걸로 이번 시험은 만족한다. 시간이 되면 메소드를 이용해 더 간결하게 푸는 방법도 찾아봐야겠다.🤔
짝수인지 판별하는 함수 isEven을 작성 해주세요.
function isEven(num){ if(num%2 === 0){ return "짝수 입니다."; }else{; return "짝수가 아닙니다." } };
👉 짝수인지 판별하려면 2로 나누고 나머지가 0이면 짝수 아니면 홀수라 생각을 했고 if문을 사용해 구현했다.
calculateTotal 함수를 작성하세요.
팁과 세금을 제외한 식사값이 주어졌을때, calculateTotal 함수는 팁과 세금이 포함된 총 식사값을 반환합니다.
- 세금은 9.5% 팁은 15%로 계산하세요.
- 팁을 계산할때 세금을 포함하여 계산하지 마세요.
function calculateTotal(amount){ const tip = amount * 0.15; const tax = amount * 0.095; const totalAmount = tip + tax + amount; return totalAmount; };
👉 팁과 세금을 식사 값에서 구해주고 팁 + 세금 + 식사 값을 더해 총 식사 값을 구현했다.
getPrefix 함수를 작성하세요.
문자열이 주어졌을때, -를 기준으로 앞에 있는 문자열을 반환하세요.
BTC-KRW
function getPrefix(string){ const firstString = string.indexOf('-') return string.slice(0,firstString) };
👉 indexOf를 사용해 해당 문자열을 찾았고 slice를 사용해 0번째 인덱스부터 - 전까지 나타내는 로직을 구현했다.
getFind 함수를 작성하세요.
문자와 문자열이 주어졌을때, getFind 함수는 주어진 문자열에서 주어진 문자가 나타나는 첫번째 위치를 반환합니다.
NOTE 문자열의 첫번째 문자는 인덱스 값 0을 가집니다 . 만약 문자열에 해당 문자가 여러번 나타나면, 첫번째로 나타나는 위치를 반환해야 합니다. 만약 문자가 문자열에 존재하지 않는다면, -1을 반환해야 합니다
중요 indexOf 함수를 사용하지 마세요.
function getFind(word,sentence){ for(let i = 0; i < sentence.length; i++){ if(sentence[i] === word){ return i } }return -1; }
👉 만약 문자열에 문자가 있다면 문자를 반환한다라고 생각했고 for문과 if문을 사용해 구현했다.
find_longest_word 함수를 만들어 주세요.
주어진 리스트안에 있는 단어중 가장 긴 단어를 찾을수 있도록 함수를 완성해주세요.
"PHP", "Exercises", "Backend"
function find_longest_word(arr){ let longest = arr[0]; for(let i = 0; i < arr.length; i++){ if(longest.length < arr[i].length){ longest = arr[i]; } } return longest; }
👉 가장 긴 글자 변수에 배열을 할당해주고 if문을 사용해 가장 긴 글자의 문자열보다 배열 중 긴 문자열이 길면 가장 긴 글자는 배열 중 긴 문자열이 된다.
리플릿을 푸면서 사용했던 방식이 나와서 다행이였다. 마지막 문제는 다른 메소드를 사용해서 간략하게 푸는 사람들이 많았다. 이번에는 for문 if문을 사용해서 풀었지만 더 나은 코드를 위해 메소드를 적용해 다시 구현시켜보자🧐