자바스크립트 공부도 할겸하여 코테 공부시작!
문제 사이트는 edabit이라는 외국 사이트입니다🧐
다양한 레벨의 문제들이 아주 많고,
우선 저는 기죽지 않게 적당한 문제를 선택하여 천천히 수준을 높여 풀고자 합니다...
그렇게 고른 첫번째 문제!
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 함수에 대해서 정리해본 글 추가합니다!
'프로그래밍 > 알고리즘' 카테고리의 다른 글
[알고리즘] 배열의 시간복잡도 (0) | 2022.07.13 |
---|---|
[알고리즘] 빅오표기법 - 1 (0) | 2022.07.08 |
[프로그래머스] 자바스크립트 코테 연습 - 4 (feat.reduce함수) (0) | 2022.06.29 |
[프로그래머스] 자바스크립트 코테 연습 - 3 (feat.reduce함수) (0) | 2022.06.27 |
[edabit] 자바스크립트 코테 연습 - 2 (feat.filter함수) (0) | 2022.06.23 |