wecode 2주차 test 정리!

장운서·2021년 6월 18일
0

안바쁜것 같으면서 바쁜 wecode 2주차다...
개인적으로도 다사다난했고 wecode에서도 굉장히 다사다난햇다.

회사 다닐때랑 별다를 것 없이 모니터만 뚫어져라 쳐다보니 점점 다크써클이 늘어가는 것 만 같구려...

2주차 금요일 오전 세션 중 reple.it세션이 있었다.

해당 test 문제 정답 풀이를 적어봐야겠다.

만약 그 다음 기수분들이 검색해서 해당 풀이를 보게된다면 정답을 꼭 활용하되 블로그로 정리해보고 다시한번 풀이를 정리해보는 시간을 갖길 바란다.


1. isEven

문제

짝수인지 판별하는 함수 `isEven`을 작성 주세요.
```js
console.log(isEven(11)) // --> "짝수가 아닙니다."
console.log(isEven(10)) // --> "짝수 입니다."

해결방법


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

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

// 아래의 코드는 절대로 수정하거나 삭제하지 마세요.
module.exports = { isEven }
 

얼마전 인스타그램 클론코딩을 진행하다가 로그인관련해서 삼항연상자를 사용하면 if문을 쓰지 않아도 훨씬 더 짧고 축약된 코드를 쓸수있다는 것을 김범기군에게 배웟다.
역시 어렷을 때 부터 코딩배운 사람은 사고력부터가 다르다는 것을 깨달앗다.

짝수는 무조건 2로나눳을때 0이 나와야하는식을 삼항연상자로 나타내고 위와 같이 적어주면 간단하게 해결이 된다.

2. calculateTotal

문제

calculateTotal 함수를 작성하세요.

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

Notes:

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

해결방법


function calculateTotal(amount) {
  // 아래 코드를 작성해주세요.
  let tax = amount * 9.5/100;
  let tip = amount * 15/100;
  
  return amount + tax + tip
}

console.log(calculateTotal(20)); // --> 24.9

// 아래의 코드는 절대로 수정하거나 삭제하지 마세요.
module.exports = { calculateTotal };
 

해당 문제 또한 어렵지 않게 풀었다.
기존에 퍼센트 구하는 값을 변수에 담아주고 해당 값들을 더해준 값을 return 해주면 간단하게 답이 나오는 문제였다.
하지만 세금 포함해서 계산하지 말란 말에 세금 뺏다가 답 안맞아서 걍 더해준건 안비밀....

3. getPrefix

문제

getPrefix 함수를 작성하세요.

문자열이 주어졌을때, -를 기준으로 앞에 있는 문자열을 반환하세요.

console.log(getPrefix('BTC-KRW')) // --> BTC

해결방법


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

console.log(getPrefix('BTC-KRW')) // --> BTC

// 아래의 코드는 절대로 수정하거나 삭제하지 마세요.
module.exports = { getPrefix };

이 문제는 split로 쉽게 풀엇다.
저번주에 replit에 풀엇던 문제가 아니던가
그래서..쉽게 풀엇음...그게다임...

4. getFind

문제

getFind 함수를 작성하세요.

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

Notes:
문자열의 첫번째 문자는 인덱스 값 0 을 가집니다.
만약 문자열에 해당 문자가 여러번 나타나면, 첫번째로 나타나는 위치를 반환해야 합니다.
만약 문자가 문자열에 존재하지 않는다면, -1 을 반환해야 합니다.

중요!!
indexOf 함수를 사용하지 마세요.

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

해결방법


function getFind(filter, sentence) { 
  // 아래 코드를 작성해주세요.
   let strIdx = sentence.search(filter);
   return strIdx;
}

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

// 아래의 코드는 절대로 수정하거나 삭제하지 마세요.
module.exports = {getFind}

indexOf 함수를 사용하지 마세요....
얼마전에 indexOf함수를 사용해서 위스타그램 @이 있는지 없는지 판단하는 구문을 작성햇엇는데 해당 구문을 사용하지 않고 -1을 반환시키는 방법이 잇던가....
일딴 검색해봄....

search라는 함수가 나와벌힘...사람들은 나와 비슷한 생각을 하고있떤 것이었따.
둘의 차이점이라고 하면

정규식이 필요한 경우 search()를 사용하십시오. 그렇지 않으면 indexOf()가 더 빨라질 것입니다.

라고하는데....
주말에 제대로 블로깅을 해봐야겠다.

5. indLongestWord

문제

find_longest_word 함수를 만들어 주세요.

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

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

해결방법


function find_longest_word(arr) {
  // 아래 코드를 구현해주세요.
  let longestWord = arr[0]; //arr을 사용한 배열을 변수로 정의
  for (let i in arr){ //for in문으로 arr값을 i 로 돌림
    longestWord.length < arr[i].length ? longestWord = arr[i] : longestWord //
  }
  return longestWord;
}

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

// 아래의 코드는 절대로 수정하거나 삭제하지 마세요.
module.exports = {find_longest_word}

솔직히 난 아직도 for문 for in 문 헷갈린다...
replit 을 풀때 인수가 들어간 값을 무작위 배열로 정해준다 까진 기억이 났고 그 이후로 for문을 돌린다 까진 기억이 났는데 그 이후에 for문을 어떻게 돌려야되지가 생각이 나지 않앗다.

검색왕..장고자...검색해봣다....

항상 답들은 기다리고있다.
풀이를 기억하면 된다는 나의 올곧은 신념을 믿는다...ㅋㅋㅋㅋ

출처 - https://velog.io/@mincode_/TIL-8-%EB%A6%AC%EC%8A%A4%ED%8A%B8%EC%97%90%EC%84%9C-%EA%B0%80%EC%9E%A5-%EA%B8%B4-%EB%8B%A8%EC%96%B4-%EC%B0%BE%EA%B8%B0-for-%EB%AC%B8

친절히 적어준 해석.....

위 답을 가지고 주석을 달면서 풀어봤다.

마지막 문제를 제외하곤 쉽게쉽게 풀엇던것같다.
다른 해설도 있을수있다.

다르게 풀수있는 해설들도 한번 확인해봐야겠다.

profile
방향성을 찾고싶은 프론트엔드개발자

0개의 댓글