본문 바로가기

전체 글

(7)
const , let ,var 차이점 JavaScript 변수 선언 방식에는 const, let, var 이렇게 3가지가 존재한다. 3가지 선언 방식의 차이점을 알기 위해서 선행되어야 할 스코프(Scope) / 호이스팅(Hosting) 을 알아야하기에 하나씩 짚고 넘어가자 1. 스코프(Scope) 스코프란 우리말로 직역하자면 "범위"라는 뜻인데 JavaScript에서는 "변수가 선언될 당시 접근 가능한 범위" 라는 의미로 사용된다, 예시를 하나 들어보자 function first(){ second(); console.log(a); } function second(){ let a = "This is test Data"; console.log(a); } first(); 해당 코드를 실행하면 second 함수에서는 a의 값이 정상적으로 찍혀 "T..
이벤트 루프(Event Loop) JavaScript의 런타임 모델은 코드의 실행, 이벤트의 수집과 처리, 큐에 대기 중인 하위 작업을 처리하는 이벤트 루프에 기반하고 있다. 자 여기까지만 말하면 대체 뭔소리야 싶긴하다 나도 처음 봤을때 이게 뭔소린가 싶었으니까... 이 Event Loop 개념에 대해서 알려면 일단 JavaScript 가 단일 쓰레드 기반 언어라는 것을 알아야한다. 단일 쓰레드라는 걸 간단하게 설명하자면 한번에 하나의 동작밖에 못한다고 생각하면 편하다, 그러면 여기서 "아니 자바스크립트는 비동기로 실행된다며 그러면 여러개를 한번에 처리하는거 아니야???" 하는 의문이 든다 나도 처음에는 그랬다, 이렇게 자바스크립트가 여러 동작을 한번에 처리하게끔 보여지게 (절대 한번에 처리되는 것이 아니다) 하는게 이벤트 루프이다. 이..
멘토링(블루투포스) function solution(arr){ let testCnt = arr.length; let students = arr[0].length let answer = 0; for(let i=0; i< testCnt; i++){ for(let j=0; j
뒤집은 소수 function solution(arr){ //소수 판별 코드 function primeNum(num){ if(num === 1) return false; for(let i =2; i { return Number(String(item).split("").reduce((a,b)=>b+a)); }).filter((item) => primeNum(item)); return answer; } 하하... 개판이구만ㅋㅋㅋㅋㅋ 예 제가봐도 어거지로 풀었습니다...소수 판별 코드까지 만든건 좋았는데 뒤집는 부분에서 어떻게 할까 하다가 아주 그냥 죽을 쒔습니다..
자릿수의 합 function solution(arr){ let answer = 0; let sum = 0; let sum2 = 0; arr = arr.sort((a,b) => b-a); for(const item of arr){ sum2 = 0; for(let i=0; i sum) { sum = sum2; answer = item; } } return answer; } 풀이 과정은 그냥 간단하다, 초반에 큰수대로 숫자를 나열한 후에 각 자릿수의 합을 구하고 해당 자릿수의 합이 기존 자릿수보다 크면 해당 숫자가 정답 function solution(n, arr){ let answer, ma..
문자열 압축 어디서 많이 본 듯한 문제였다, 예전에 프로그래머스에서 문자열 압축 문제와 비슷한 문제같은 느낌이... 근데 그때는 손도 못대고 풀이를 봐도 이해도 안됐었는데 그나마 문제가 조금 더 쉬워서인지 그래도 해결은 했다. function solution(str) { let char = str[0]; let answer = str[0]; let idx = 1; for (let i = 1; i < str.length; i++) { if (char === str[i]) { idx++; } else { if (idx !== 1) { answer += String(idx); } idx = 1; char = str[i]; answer += char; } } console.log(answer); } 일단 코드 풀이부터 해보..
문자거리 //나의 풀이 function solution(str, alpa) { let arr = []; let arr2 = []; let answer = []; for (let i = 0; i < str.length; i++) { if (str[i] === alpa) { arr.push(i); } } for (let i = 0; i < str.length; i++) { arr2 = []; for (const item of arr) { arr2.push(Math.abs(item - i)); } answer.push(Math.min(...arr2)); } } let str="teachermode"; console.log(solution(str, 'e')); 나의 풀이 과정은 최초 alpa의 값을 모두 찾아서 배열에 ..