자바스크립트

들어가며 브라우저를 위한 스크립팅 언어로 만들어진 자바스크립트의 처음 모습과 지금의 모습은 많이 달라졌습니다.처음 나왔을 당시에는 자바스크립트를 이용하여 수십 줄 이상의 코드를 짜는 일도 많지 않았지만, 점차 유명세를 타게 되며 API를 확장하고 코드 줄 수가 많아짐에 따라 실행 엔진을 최적화하는 작업이 이루어졌습니다.  첫 자바스크립트의 시작은 인터프리터 언어였습니다. 하지만 지금은 컴파일러의 특성도 동시에 갖추고 있습니다. 정확히 무엇을 기점으로 변화하게 된 것일까요? 그것은 바로 V8 엔진입니다.   V8 엔진? V8 엔진은 Google 사의 오픈소스로 대중적으로 많이 사용되는 자바스크립트 엔진입니다. Node JS Runtime과 Chrome Browser 환경에서 사용되고 있습니다. 자바스크립트..
· 알고리즘
https://school.programmers.co.kr/learn/courses/30/lessons/120837 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr본 포스팅에서 다루는 문제는 위 프로그래머스 링크를 통하여 문제 확인 및 풀이가 가능합니다!  1. 문제 풀이 탐욕(Greedy) 알고리즘을 사용하여 풀이하는 문제 중 가장 베이직한 문제입니다. 사냥감의 체력(hp)에 딱 맞게 병력을 내보냄과 동시에 가장 적은 수로 구성해야 합니다. 장군개미, 병정개미, 일개미의 공격력이 각각 5, 3, 1이기 때문에 장군개미 > 병정개미 > 일개미 순으로 가능한 많..
· 알고리즘
https://school.programmers.co.kr/learn/courses/30/lessons/68644?language=javascript 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr본 포스팅에서 다루는 문제는 위 프로그래머스 링크를 통하여 문제 확인 및 풀이가 가능합니다! 1. 문제 풀이 문제에서 제시한 것처럼 단순하게 서로 다른 인덱스에 있는 두 개의 수를 뽑아서 만들 수 있는 모든 수를 배열에 오름차순으로 담아 return 하기만 하면 되는 간단한 문제입니다.  신경써야 할 부분은 서로 다른 인덱스에 있는 두 개의 수를 뽑아서 나온 수가 중..
자바스크립트에서 숫자를 다루거나 연산을 하다보면 NaN 값을 가끔 마주할 때가 있습니다. NaN은 not-a-number의 약자로 자바스크립트에서 '산술 연산 불가'의 값임을 표현할 때 사용됩니다.우리가 자바스크립트를 사용하면서 NaN을 접하게 되는 상황들을 몇 가지 알아보면 다음과 같습니다.// 문자열을 숫자로 변환할 수 없으므로 NaN을 반환한다let x = 'Jiwon';console.log(+x); // NaN// undefined는 숫자로 타입 변환되지 않는다+undefined; // NaN1 + undefined; // NaN0 / 0; // NaN  이렇게 NaN 값이 반환되었을 때 isNaN 함수를 사용하여 해결할 수 있으며 isNaN은 매개변수가 숫자인지 검사하는 함수입니다.isNaN(v..
· 알고리즘
https://school.programmers.co.kr/learn/courses/30/lessons/70129 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 본 포스팅에서 다루는 문제는 위 프로그래머스 링크를 통하여 문제 확인 및 풀이가 가능합니다! 1. 문제 풀이 이 문제에서는 '문제에서 정의한 이진 변환'이 무엇이고 이를 구현하기 위하여 어떤 메서드들이 필요한 지를 아는 것이 중요한 문제입니다. 본 문제에서의 문자열 x에 대한 이진 변환은 아래와 같이 정의합니다. x의 모든 0을 제거 x의 길이를 c라고 할때, c를 이진법으로 표현한 문자열로 변환..
· 알고리즘
https://school.programmers.co.kr/learn/courses/30/lessons/12941 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 본 포스팅에서 다루는 문제는 위 프로그래머스 링크를 통하여 문제 확인 및 풀이가 가능합니다! 1. 문제 풀이 문제 설명 자체는 쉬운 문제입니다. 길이가 같은 두 배열이 주어지고 배열에서 각각 하나의 원소를 뽑아 곱한 뒤 더한 값이 최소가 되도록 하는 것이 목표이며 이 최솟값을 반환하는 것이 문제의 전부입니다. 곱 연산의 성질을 제대로 이해하고 있다면 각 원소에서 뽑아야 하는 값은 쉽게 알 수 있습..
· 알고리즘
https://school.programmers.co.kr/learn/courses/30/lessons/178871 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 본 포스팅에서 다루는 문제는 위 프로그래머스 링크를 통하여 문제 확인 및 풀이가 가능합니다! 1. 문제 풀이 문제 설명 자체는 쉬운 문제입니다. 선수들의 이름이 1등부터 현재 등수 순서대로 담긴 문자열 배열 players와 해설진이 부른 이름을 담은 문자열 배열 callings가 매개변수로 주어집니다. 즉 우리는 배열 players의 원소들의 위치를 swap하여 관리하는 것이 전부라고 볼 수 있..
🚀 본 포스트는 '모던 자바스크립트 Deep Dive' 도서를 바탕으로 핵심 개념 및 내용을 요약한 포스트입니다. 07장 연산자 연산자는 하나 이상의 표현식을 대상으로 산술, 할당, 비교, 논리, 타입, 지수 연산 등을 수행하여 하나의 값을 만듭니다. 이때 연산의 대상을 피연산자라고 합니다. 이떄 피연산자는 값으로 평가될 수 있어야 한다는 조건이 있어야 하며, 피연산자와 연산자의 조합으로 만들어진 표현식도 값으로 평가될 수 있어야 합니다. 피연산자가 '값'이라는 명사의 역할을 한다면 연산자는 '피연산자를 연산하여 새로운 값을 만든다'라는 동사의 역할을 수행합니다. 7.1 산술 연산자 산술 연산자는 피연산자를 대상으로 수학적 계산을 수행하여 새로운 숫자 값을 만듭니다. 연산이 불가능한 경우에는 NaN(no..
최 지원
'자바스크립트' 태그의 글 목록