본문 바로가기

프로그래밍/알고리즘

[edabit] 자바스크립트 코테 연습 - 1 (feat.test함수)


자바스크립트 공부도 할겸하여 코테 공부시작!


문제 사이트는 edabit이라는 외국 사이트입니다🧐

 

Edabit // Learn to Code with 10,000+ Interactive Challenges

Our bite-sized challenges are a shortcut through the maze of learning to code. Gain XP, unlock achievements and level up. Get really good at coding, really fast.

edabit.com



다양한 레벨의 문제들이 아주 많고,
우선 저는 기죽지 않게 적당한 문제를 선택하여 천천히 수준을 높여 풀고자 합니다...




그렇게 고른 첫번째 문제!



Q. Seven Boom!
Create a function that takes an array of numbers and return "Boom!" if the digit 7 appears in the array. Otherwise, return "there is no 7 in the array".

sevenBoom([1, 2, 3, 4, 5, 6, 7]) ➞ "Boom!"
// 7 contains the number seven.

sevenBoom([8, 6, 33, 100]) ➞ "there is no 7 in the array"
// None of the items contain 7 within them.

sevenBoom([2, 55, 60, 97, 86]) ➞ "Boom!"
// 97 contains the number seven.


배열안에 숫자 7이 들어가있으면 Boom! 7이 없거나 빈배열은 there is no 7 in the array

7, 17, 97 해당 숫자 모두 7이 포함되어있으니 Boom!



제가 끄적끄적해본것은 아래에....

 

 

function sevenBoom(arr) {
    let newArr = '';
    for(let i=0; i<arr.length; i++){
        let a = arr[i].toString();
        newArr += a;

    }

    if(newArr.includes(7)){
       return "Boom!"
    } else {
       return "there is no 7 in the array"
    }
}
  • String이 들어갈수있는 newArr를 생성해줌 (처음에 arr로 하려고 newArr로 이름지었다가 안바꿨네용ㅎㅎ....)
  • for문을 돌면서 arr로 들어온값의 i번째 배열의 값을 toString()을 사용하여 문자로 변환하고 newArr에 문자를 계속해서 추가
  • 그리고 if문에서 newArr에 includes()를 사용하여 7이 포함되었으면 Boom



통과...



그럼 이제 다른사람이 어떻게 했는지 봐야져




ㅠㅠ... 예? 한줄이여...?

const sevenBoom = arr =>
  /7/.test(arr) ? 'Boom!' : 'there is no 7 in the array';

 

const sevenBoom = (arr) => arr.join("").indexOf('7') >= 0 ? "Boom!" : "there is no 7 in the array";



저는 이세상 비효율의 끝판왕이였네요🥲 join("")으로 합쳐주면되는데....for문 돌리고 앉아있었네요..

 

 

 

(06.23) 자바스크립트 test 함수에 대해서 정리해본 글 추가합니다!

 

 

 

[javascript] 자바스크립트 test, search, replace

자바스크립트 정규식에서 자주 사용되는 test, search, replace함수에 대해 정리하고자 합니다. 1. test( ) 문장안에서 내가 찾고자하는 문자가 포함이 되어있으면 true를 리턴해준다. let testText = /apple/; /

lily-choi.tistory.com