[프로그래머스 | Lv. 1 | JavaScript] 문자열 내림차순으로 배치하기
·
알고리즘/문제
Link코딩테스트 연습 - 문자열 내림차순으로 배치하기 문제풀이(1)function solution(s) { return s.split('') .sort((a, b) => { if ((a === a.toUpperCase() && b === b.toLowerCase())) { return 1; } else if ((b === b.toUpperCase() && a === a.toLowerCase())) { return -1; } else { return a > b ? -1 : 1; ..
[프로그래머스 | Lv. 1 | JavaScript] 약수의 개수와 덧셈
·
알고리즘/문제
Link코딩테스트 연습 - 약수의 개수와 덧셈 문제풀이(1)function solution(left, right) { let answer = 0; for (let i = left; i { if (num === 1) return 1; let cnt = 0; let sqrt = Math.sqrt(num); for (let i = 1; i (2)function solution(left, right) { var answer = 0; for (let i = left; i  주의점제곱근이 정수면 약수의 개수가 홀수다.
[프로그래머스 | Lv. 1 | JavaScript] 수박수박수박수박수?
·
알고리즘/문제
Link코딩테스트 연습 - 수박수박수박수박수박수? 문제풀이(1)function solution(n) { let answer = ''; for (let i = 0; i (2)function solution(n) { let result = "수박수박수박수박수박수박수박수박수박수박수박수박수박수박수박수박수박수박" return result.substring(0,n);}(3)function solution(n) { return "수박".repeat(n).slice(0,n);}
[프로그래머스 | Lv. 1 | JavaScript] 가운데 글자 가져오기
·
알고리즘/문제
Link코딩테스트 연습 - 가운데 글자 가져오기 문제풀이(1)function solution(s) { let answer = ''; let len = s.length if (len % 2 === 0) answer = s.substr(len / 2 - 1, 2); else answer = s.substr(len / 2, 1); return answer;}(2)function solution(s) { let answer = ''; let len = s.length if (len % 2 === 0) answer = s.substring(len / 2 - 1, len / 2 + 1); else answer = s.substring(len / ..
[프로그래머스 | Lv. 1 | JavaScript] 내적
·
알고리즘/문제
Link코딩테스트 연습 - 내적 문제풀이(1)function solution(a, b) { return a.map((m, i) => m * b[i]).reduce((acc, val) => acc + val);}(2)function solution(a, b) { return a.reduce((acc, _, i) => acc += a[i] * b[i], 0);}
자바스크립트와 브라우저의 비동기 처리 구조: 이벤트 루프와 큐
·
JAVASCRIPT
들어가며자바스크립트와 브라우저 환경에서의 비동기 처리 구조를 전반적으로 정리한 내용입니다. 단일 스레드 언어인 자바스크립트가 어떻게 비동기 처리를 구현하는지, 그리고 브라우저가 제공하는 Web API와 이벤트 루프를 통해 어떤 식으로 콜백이 실행되는지 통합적으로 이해할 수 있도록 합니다. 비동기 프로그래밍(Asynchromous Programming)동기(Synchronous) vs 비동기(Asynchronous)동기어떤 작업 A를 요청하면 그 결과가 나올 때까지 멈춰서 대기한 뒤, 다음 작업을 처리하는 방식작업이 순차적으로만 진행되므로, 하나가 지연되면 전체 흐름에 블로킹이 발생비동기어떤 작업 A를 요청해도 그 결과를 기다리지 않고 다음 작업을 진행비동기 작업이 완료되면 콜백(Callback) 함수나 ..
[프로그래머스 | Lv. 1 | JavaScript] 핸드폰 번호 가리기
·
알고리즘/문제
Link코딩테스트 연습 - 핸드폰 번호 가리기 문제풀이(1)function solution(phone_number) { let len = phone_number.length; return phone_number.split('').map((curr, idx) => idx (2)function solution(phone_number){ return s.replace(/\d(?=\d{4})/g, "*");}(3)function solution(s){ let result = "*".repeat(s.length - 4) + s.slice(-4); return result;}(4)const solution = n => [...n].fill("*",0,n.length-4).join("")
[프로그래머스 | Lv.1 | JavaScript] 제일 작은 수 제거하기
·
알고리즘/문제
Link코딩테스트 연습 - 제일 작은 수 제거하기 문제풀이(1)function solution(arr) { if (arr.length === 1) return [-1]; let answer = []; let min = Number.MAX_SAFE_INTEGER; let idx = 0; for (let i = 0; i (2)function solution(arr) { if (arr.length === 1) return [-1]; let min = Math.min(...arr); return arr.filter(num => num !== min);}
[프로그래머스 | Lv. 1 | JavaScript] 음양 더하기
·
알고리즘/문제
Link코딩테스트 연습 - 음양 더하기 문제풀이(1)function solution(absolutes, signs) { let answer = 0; let len = absolutes.length; for (let i = 0; i (2)function solution(absolutes, signs) { let answer = 0; absolutes.forEach((val, i) => answer += signs[i] ? val : -val); return answer;}(3)function solution(absolutes, signs) { return absolutes.reduce((acc, val, i) => acc + (signs[i] ? ..
[프로그래머스 | Lv. 1 | JavaScript] 나누어 떨어지는 숫자 배열
·
알고리즘/문제
Link코딩테스트 연습 - 나누어 떨어지는 숫자 배열 문제풀이(1)function solution(arr, divisor) { let answer = []; for (let a of arr) { if (a % divisor === 0) answer.push(a); } answer.sort((a, b) => a - b); if (answer.length === 0) answer.push(-1); return answer;}(2)function solution(arr, divisor) { let answer = arr.filter(item => item % divisor === 0).sort((a, b) => a - b); if (..