| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | 7 |
| 8 | 9 | 10 | 11 | 12 | 13 | 14 |
| 15 | 16 | 17 | 18 | 19 | 20 | 21 |
| 22 | 23 | 24 | 25 | 26 | 27 | 28 |
- 코딩테스트
- 메가바이트스쿨
- 프론트엔드
- useMemo
- 알고리즘
- 프로그래머스
- GIT
- 비전공자
- 내일배움카드
- 모던 딥 다이브 자바스크립트
- 리액트
- 공식문서
- 자바스크립트
- CSS
- MegabyteSchool
- styled-components
- JavaScript
- TypeScript
- useRef
- 모던 자바스크립트 딥 다이브
- 자료구조
- 국비지원교육
- Github
- next.js
- 개발자취업부트캠프
- react
- 개발 공부
- 패스트캠퍼스
- 입문
- 이벤트
- Today
- Total
목록JavaScript (37)
개발 기록 남기기✍️
🔍 Babel이란 바벨은 ES6+ 버전 이상의 자바스크립트나 JSX, 타입스크립트 코드를 하위 버전의 자바스크립트 코드로 변환시켜 IE나 다른 구형 브라우저에서 동작할 수 있도록 하는 역할을 한다. 바벨 공식 사이트에서 "Babel is JavaScript compiler"라고 소개한다. 바벨은 같은 언어를 다른 실행 환경에서도 돌아갈 수 있도록 형태만 바꾸는 작업을 진행하는 트랜스 파일러이다. // ES6 화살표 함수와 ES7 지수 연산자 [1,2,3].map(n => n ** n); IE와 다른 구형 브라우저에서는 이 두 가지 기능을 지원하지 않을 수 있다. Babel을 사용하면 위 코드를 아래와 같이 ES5 이하의 버전으로 변환할 수 있다. "use strict"; [1,2,3].map(functi..
🗒️ 문제 설명 두 정수 a, b가 주어졌을 때 a와 b 사이에 속한 모든 정수의 합을 리턴하는 함수, solution을 완성하세요. 예를 들어 a = 3, b = 5인 경우, 3 + 4 + 5 = 12이므로 12를 리턴합니다. ⚠️ 제한 사항 a와 b가 같은 경우는 둘 중 아무 수나 리턴하세요. a와 b는 -10,000,000 이상 10,000,000 이하인 정수입니다. a와 b의 대소관계는 정해져있지 않습니다. 👀 입출력 예 a b return 3 5 12 3 3 3 5 3 12 ❇️ 나의 풀이 먼저 early return을 통해 a와 b 값이 같을 때는 바로 a를 리턴한다. a,b의 대소 관계 판별은 잠시 제쳐두고, a < b라는 전제 하에 sum 함수를 작성한다. i는 a에서 시작해서 b가 될때까..
input의 type을 number로 지정하지 않은 상태에서, input의 값이 number인지를 유효성 검사를 하려고 했다. 숫자가 아닌 값을 Number로 형변환해주면 NaN이 나오기 때문에, typeof Number(value) === 'NaN'을 시도해봤다. console.log(Number('123eee')); // NaN console.log(typeof Number('123eee')); // "number" 하지만 숫자이든 문자이든 간에 모든 값이 다 false로 뜬다. 실제로 형변환한 값을 console.log로 찍어보면 number가 나오는 것을 알 수 있다. 그렇다면 어떤 방법으로 데이터가 NaN인지 확인할 수 있을까? 방법 1. isNaN( ) 그거슨 바로, isNaN() isNaN은..
🗒️ 문제 설명 머쓱이는 태어난 지 6개월 된 조카를 돌보고 있습니다. 조카는 아직 "aya", "ye", "woo", "ma" 네 가지 발음을 최대 한 번씩 사용해 조합한(이어 붙인) 발음밖에 하지 못합니다. 문자열 배열 babbling이 매개변수로 주어질 때, 머쓱이의 조카가 발음할 수 있는 단어의 개수를 return하도록 solution 함수를 완성해주세요. ⚠️ 제한 사항 1 ≤ babbling의 길이 ≤ 100 1 ≤ babbling[i]의 길이 ≤ 15 babbling의 각 문자열에서 "aya", "ye", "woo", "ma"는 각각 최대 한 번씩만 등장합니다. 즉, 각 문자열의 가능한 모든 부분 문자열 중에서 "aya", "ye", "woo", "ma"가 한 번씩만 등장합니다. 문자열은 알..
🗒️ 문제 설명 소수점 아래 숫자가 계속되지 않고 유한개인 소수를 유한소수라고 합니다. 분수를 소수로 고칠 때 유한소수로 나타낼 수 있는 분수인지 판별하려고 합니다. 유한소수가 되기 위한 분수의 조건은 다음과 같습니다. 기약분수로 나타내었을 때, 분모의 소인수가 2와 5만 존재해야 합니다. 두 정수 a와 b가 매개변수로 주어질 때, a/b가 유한소수이면 1을, 무한소수라면 2를 return하도록 solution 함수를 완성해주세요. ⚠️ 제한 사항 a, b는 정수 0
🗒️ 문제 설명 한 개 이상의 항의 합으로 이루어진 식을 다항식이라고 합니다. 다항식을 계산할 때는 동류항끼리 계산해 정리합니다. 덧셈으로 이루어진 다항식 polynomial이 매개변수로 주어질 때, 동류항끼리 더한 결괏값을 문자열로 return 하도록 solution 함수를 완성해보세요. 같은 식이라면 가장 짧은 수식을 return 합니다. ⚠️ 제한 사항 0
🗒️ 문제 설명 3x 마을 사람들은 3을 저주의 숫자라고 생각하기 때문에 3의 배수와 숫자 3을 사용하지 않습니다. 3x 마을 사람들의 숫자는 다음과 같습니다. 10진법 3x 마을에서 쓰는 숫자 10진법 3x 마을에서 쓰는 숫자 1 1 6 8 2 2 7 10 3 4 8 11 4 5 9 14 5 7 10 16 정수 n이 매개변수로 주어질 때, n을 3x 마을에서 사용하는 숫자로 바꿔 return하도록 solution 함수를 완성해주세요. ⚠️ 제한 사항 1 ≤ n ≤ 100 👀 입출력 예 n result 15 25 40 76 ❇️ 나의 풀이 for 문을 1부터 n까지 반복하면서 answer에 1을 더한다. answer에 1을 더한 뒤, 해당 값이 3의 배수이거나 3이라는 숫자를 포함하면 answer에 1을..
🗒️ 문제 설명 약수의 개수가 세 개 이상인 수를 합성수라고 합니다. 자연수 n이 매개변수로 주어질 때 n이하의 합성수의 개수를 return하도록 solution 함수를 완성해주세요. ⚠️ 제한 사항 1 ≤ n ≤ 100 👀 입출력 예 n result 10 5 15 8 ❇️ 나의 풀이 먼저 1부터 n까지의 수가 key인 객체를 만든다. 각 key를 1부터 key 값까지 나누고, 나머지가 0일 때 obj[i]에 1을 더해준다. 객체를 돌면서, obj[key] >= 3일 때 answer에 1을 더해준다. function solution(n) { let obj = {}; let answer = 0; for(let i=1;i= 3 ? answer+=1 : answer }) return answer }
🗒️ 문제 설명 머쓱이는 친구에게 모스부호를 이용한 편지를 받았습니다. 그냥은 읽을 수 없어 이를 해독하는 프로그램을 만들려고 합니다. 문자열 letter가 매개변수로 주어질 때, letter를 영어 소문자로 바꾼 문자열을 return 하도록 solution 함수를 완성해보세요. 모스부호는 다음과 같습니다. morse = { '.-':'a','-...':'b','-.-.':'c','-..':'d','.':'e','..-.':'f', '--.':'g','....':'h','..':'i','.---':'j','-.-':'k','.-..':'l', '--':'m','-.':'n','---':'o','.--.':'p','--.-':'q','.-.':'r', '...':'s','-':'t','..-':'u','...
🗒️ 문제 설명 정수 n을 기준으로 n과 가까운 수부터 정렬하려고 합니다. 이때 n으로부터의 거리가 같다면 더 큰 수를 앞에 오도록 배치합니다. 정수가 담긴 배열 numlist와 정수 n이 주어질 때 numlist의 원소를 n으로부터 가까운 순서대로 정렬한 배열을 return하도록 solution 함수를 완성해주세요. ⚠️ 제한 사항 1 ≤ n ≤ 10,000 1 ≤ numlist의 원소 ≤ 10,000 1 ≤ numlist의 길이 ≤ 100 numlist는 중복된 원소를 갖지 않습니다. 👀 입출력 예 numlist n result [1, 2, 3, 4, 5, 6] 4 [4, 5, 3, 6, 2, 1] [10000,20,36,47,40,6,10,7000] 30 [36, 40, 20, 47, 10, 6, ..