분류 전체보기


두 정수 사이의 합 문제설명 주어진 코드 function solution(a, b) { var answer = 0; return answer; } 문제해결 function solution(a, b) { let answer = 0; const arr = []; if ( a === b){ return a; } else { arr.push(a,b); arr.sort((a,b) => a - b); for ( let i = arr[0]; i


리덕스란? 리덕스는 오픈 소스 자바스크립트 라이브러리의 일종으로 state를 이용하여 웹사이트 혹은 애플리케이션의 상태 관리를 해줄 목적으로 사용한다. 리덕스를 사용하는 이유 모든 component가 props 없이 state 직접 꺼내서 쓸 수 있다. state(상태관리)가 용이하다. 리덕스 스토어에 조건문이나 요청에 관련된 코드를 짜놓으면 각각의 component는 리덕스 스토어에 요청만 하면 된다. 버그가 발생했을 때 추적이 쉽고 component에 오류가 발생하면 어떤 component에서 발생된 오류인지 각각의 component를 추적할 필요없이 리덕스 스토어에서 오류를 확인하면 된다. 💡 즉, 리덕스를 사용하면 component의 상태 업데이트 관련 로직을 다른 파일로 분리시켜서 효율적으로 관..


자바스크립트에서 유사배열과 배열의 차이는 무엇일까요? 유사배열의 각 요소를 수정하고 싶다면 어떤 과정을 거쳐야할까요? 1) 배열(Array) 단일 변수에 여러 값을 순차적으로 저장할 때 사용되는 유형이다. 각 값은 숫자 인덱스를 가지며 모든 데이터 유형이 될 수 있다. 배열은 length 속성 가지고 있으며, length 속성은 배열에 항목 수가 추가되거나 삭제될 때 자동적으로 업데이트해준다. 2) 유사배열(Array-like objects) 자바스크립트에서 말 그대로 배열처럼 보이는 유사한 객체다. 일반적으로 인덱싱된 액세스와 length 속성이 있지만, 배열과 달리 push, pop, join, map 등 과 같은 메소드 사용이 불가하다. 유사배열은 배열의 기능이 없으며 for-in 루프도 작동하지 ..


호이스팅과 TDZ는 무엇일까 ? 스코프, 호이스팅, TDZ 스코프(Scope, 유효범위) let x = 'global'; function foo () { let x = 'function scope'; console.log(x); } foo(); // ? console.log(x); // ? 참조 대상 식별자(identifier, 변수, 함수의 이름과 같이 어떤 대상을 다른 대상과 구분하여 식별할 수 있는 유일한 이름)를 찾아내기 위한 규칙이다. 자바스크립트는 이 규칙대로 식별자를 찾는다. 프로그래밍은 변수를 선언하고 값을 할당하며 변수를 참조하는 기본적인 기능을 제공하며 이것으로 프로그램의 상태를 관리할 수 있다. 변수는 전역 또는 코드 블록(if, for, while, try/catch 등)이나 함수 ..


호이스팅과 TDZ는 무엇일까 ? 스코프, 호이스팅, TDZ 스코프(Scope, 유효범위) let x = 'global'; function foo () { let x = 'function scope'; console.log(x); } foo(); // ? console.log(x); // ? 참조 대상 식별자(identifier, 변수, 함수의 이름과 같이 어떤 대상을 다른 대상과 구분하여 식별할 수 있는 유일한 이름)를 찾아내기 위한 규칙이다. 자바스크립트는 이 규칙대로 식별자를 찾는다. 프로그래밍은 변수를 선언하고 값을 할당하며 변수를 참조하는 기본적인 기능을 제공하며 이것으로 프로그램의 상태를 관리할 수 있다. 변수는 전역 또는 코드 블록(if, for, while, try/catch 등)이나 함수 ..


JavaScript 객체와 불변성이란 ? 기본형 데이터와 참조형 데이터 기본형 데이터 number C나 Java의 경우, 정수와 실수를 구분하여 int, long, float, double 등과 같은 다양한 숫자 타입이 존재한다. 하지만 자바스크립트는 독특하게 하나의 숫자 타입만 존재한다. string 문자열(String) 타입은 텍스트 데이터를 나타내는데 사용한다. 문자열은 0개 이상의 16bit 유니코드 문자(UTF-16) 들의 집합으로 대부분의 전세계의 문자를 표현할 수 있다. 문자열은 작은 따옴표(‘’) 또는 큰 따옴표(“”) 안에 텍스트를 넣어 생성한다. boolean 불리언(boolean) 타입의 값은 논리적 참, 거짓을 나타내는 true와 false 뿐이다. undefined undefine..


JavaScript의 자료형과 JavaScript만의 특성은 무엇일까 ? 느슨한 타입(loosely typed)의 동적(dynamic) 언어 JavaScript의 변수는 어떤 특정 타입과 연결되지 않으며, 모든 타입의 값으로 할당 (및 재할당) 가능하다. JavaScript의 타입 JavaScript 언어의 타입은 원시 값과 객체로 나뉩니다. 원시 값 객체를 제외한 모든 타입은 불변 값(변경할 수 없는 값)을 정의합니다. 예를 들어(C 언어와는 달리) 문자열은 불변합니다. 이런 일련의 타입을 "원시 값"이라고 합니다. Boolean 타입 Boolean 타입은 논리 요소를 나타내며 true와 false 두 가지의 값을 가질 수 있습니다. Null 타입 Null 타입은 null 하나의 값만 가질 수 있습니다..


문제설명 문제풀이 필요한 함수 Math.sqrt / if / else 숫자가 정수인지 찾는 방법 1. Number.isIntegar() 2. 나머지 연산자(%) 활용 = 나머지 연산자를 활용해서 문제를 풀었다. function solution(n) { //필요한 함수 Math.sqrt / if / else let answer = 0; let N = Math.sqrt(n) //숫자가 정수인지, 실수인지 찾는 방법 나머지 연산자 % 활용 if (N % 1 === 0) { return (N+1) * (N+1) } else { return -1 } return answer; } let answer = 0; 0으로 초기화해주고 let N = Math.sqrt(n) n이 어떤 수의 제곱인지 확인하기 위해 N이라는 ..


문제 설명 대문자와 소문자가 섞여있는 문자열 s가 주어집니다. s에 'p'의 개수와 'y'의 개수를 비교해 같으면 True, 다르면 False를 return 하는 solution를 완성하세요. 'p', 'y' 모두 하나도 없는 경우는 항상 True를 리턴합니다. 단, 개수를 비교할 때 대문자와 소문자는 구별하지 않습니다. 예를 들어 s가 "pPoooyY"면 true를 return하고 "Pyy"라면 false를 return합니다. 제한사항 문자열 s의 길이 : 50 이하의 자연수 문자열 s는 알파벳으로만 이루어져 있습니다. 입출력 예sanswer "pPoooyY" true "Pyy" false 입출력 예 설명 입출력 예 #1 'p'의 개수 2개, 'y'의 개수 2개로 같으므로 true를 return 합니다..