JavaScript

문제 설명 https://www.acmicpc.net/problem/18111 18111번: 마인크래프트 팀 레드시프트는 대회 준비를 하다가 지루해져서 샌드박스 게임인 ‘마인크래프트’를 켰다. 마인크래프트는 1 × 1 × 1(세로, 가로, 높이) 크기의 블록들로 이루어진 3차원 세계에서 자유롭게 www.acmicpc.net 문제 풀이 방법 이 문제는 기본적으로 완전탐색 알고리즘의 일종인 브루트포스 문제이다. 각 기준 높이에 맞는 시간과 최대 높이를 측정하여 정답을 도출한다. 블럭의 최대 높이는 256까지 이므로 반복문을 이용해 0부터 256까지의 기준 높이를 설정하며 각 블럭에서의 기준 높이까지 맞추기위해 필요한 제거 횟수와 채움 횟수를 측정, 제거한 블럭과 기존에 갖고있던 블럭의 수가 넣어야 하는 블럭..
Javascript는 명령형, 함수형, 프로토타입 기반 객체지향 프로그래밍을 지원하는 멀티 패러다임 언어다. Javascript는 객체기반의 프로그래밍 언어이며, Javascript를 이루고 있는 거의 모든 것이 객체다. 원시 타입의 값을 제외한 나머지 값들(함수, 배열, 정규 표현식등)은 모두 객체다. 19.1 객체지향 프로그래밍 객체지향 프로그래밍은 프로그램을 여러 개의 독립적 단위인 객체의 집합으로 프로그램을 표현하려는 프로그래밍 패러다임을 의미한다. 객체지향 프로그래밍은 실체를 인식하는 철학적 사고를 프로그래밍에 접목하려는 시도에서 시작한다. 실체를 인식하거나 구별할 수 있는 속성을 갖는다. 다양한 속성 중에서 프로그램에 필요한 속성만 간추려 내어 표현하는 것을 추상화라 한다. // 실체의 특성을..
문제 설명 https://school.programmers.co.kr/learn/courses/30/lessons/172927 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 방법 해당 문제는 정렬을 이용해 풀이를 진행했다. 중요 코드를 살펴보면각 곡괭이의 광물당 피로도를 저장하는 obj, 갖고있는 곡괭이로 캘 수 있는 광물만큼 보관하는 newMinerals, 광물이 담겨있는 배열에 특정 광물의 갯수를 반환해주는 check 함수이다. 이 문제에서는 sort 메서드와 reduce 메서드를 중요하게 사용했다. sort 메서드의 경우는 광물이 담긴 배..
1. 스코프란? 스코프란 식별자가 유효한 범위를 말한다. 혹은 자바스크립트 엔진이 식별자를 검색할 때 사용하는 규칙이라 할 수 있다. 이는 자바스크립트 엔진이 같은 이름의 식별자를 스코프를 통해 참조를 결정하는 식별자 결정에 영향을 준다. 자바스크립트 엔진은 코드 실행시 코드의 문백을 고려한다. "코드가 실행되는 위치와 주변 환경에 어떤 코드가 있는지"를 렉시컬 환경이라 부른다. 코드의 문맥은 렉시컬 환경으로 이뤄지며 이를 구현한 것이 실행 컨텍스트이다. var x = 'global'; function foo() { var x = 'local'; console.log(x); // 1 } foo(); console.log(x); // 2 만약 위의 코드에서 스코프란 개념이 없으면 같은 이름을 갖는 변수는 ..
Jest는 페이스북에서 만든 테스팅 라이브러리이다. React와 Javascript를 테스팅하는데 많이 사용되고 있다. Jest는 Test Runner와 Test Matcher 그리고 Test Mock 프레임워크까지 제공해 많이 사용된다. Test Runner 테스트를 실행하고 각 테스트 케이스의 성공 혹은 실패 여부를 보고하는 도구 Test Matcher 테스트 케이스에서 예상되는 결과와 실제 결과를 비교하는 도구 Test Mock 특정 객체 또는 기능을 흉내내어 가짜로 구현된 대체 객체 Jest 설치 npm i -D jest CRA를 사용해 React를 사용하면 따로 Jest를 설치하지 않아도 Jest를 사용할 수 있다. 설치가 완료되면 package.json 파일에 test 스크립트를 jest로 추..
문제 설명 https://school.programmers.co.kr/learn/courses/30/lessons/142085 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 방법 이번 문제는 최소 힙을 적용한 우선순위 큐를 이용해 풀어야 했던 문제이다. 나는 정렬을 이용해 웨이브가 가장 큰 순서대로 해결하려 했다. 하지만, 이렇게 하게 되면 초반에 작은 웹이브들의 합이 갖고있는 병사의 수를 넘는 경우는 처리하지 못하기에 포기했다. 그렇다면 큰 웨이브는 무적권을 사용한다 치고, 작은 수만 골라 문제를 풀어야 한다는 것이다. 이진 탐색을 통해 웨이..
58청춘
'JavaScript' 태그의 글 목록 (20 Page)