반응형

분류 전체보기 269

[JS] 알고리즘 기초 정복 2-4번 - 점수계산

문제 2-4번 OX 문제는 맞거나 틀린 두 경우의 답을 가지는 문제를 말한다. 여러 개의 OX 문제로 만들어진 시험에서 연속적으로 답을 맞히는 경우에는 가산점을 주기 위해서 다음과 같이 점수 계산을 하기 로 하였다. 1번 문제가 맞는 경우에는 1점으로 계산한다. 앞의 문제에 대해서는 답을 틀리다가 답이 맞는 처음 문제는 1점으로 계산한다. 또한, 연속으로 문제의 답이 맞는 경우에서 두 번째 문제는 2점, 세 번째 문제는 3점, ..., K번째 문제는 K점으로 계산한다. 틀린 문제는 0점으로 계 산한다. 예를 들어, 아래와 같이 10 개의 OX 문제에서 답이 맞은 문제의 경우에는 1로 표시하고, 틀린 경 우에는 0으로 표시하였을 때, 점수 계산은 아래 표와 같이 계산되어, 총 점수는 1+1+2+3+1+2=..

알고리즘 2021.07.13

[JS] 알고리즘 기초 정복 2-3번 - 가위 바위 보

문제 2-3번 A, B 두 사람이 가위바위보 게임을 합니다. 총 N번의 게임을 하여 A가 이기면 A를 출력하고, B가 이기면 B를 출력합니다. 비길 경우에는 D를 출력합니다. 가위, 바위, 보의 정보는 1:가위, 2:바위, 3:보로 정하겠습니다. 예를 들어 N=5이면 두 사람의 각 회의 가위, 바위, 보 정보가 주어지면 각 회를 누가 이겼는지 출력하는 프로그램 을 작성하세요. 🍄 입력설명 첫 번째 줄에 게임 횟수인 자연수 N(1

알고리즘 2021.07.13

[JavaScript] 스터디 10일차_ 클래스(1) 개념 및 상속

1.1 클래스의 개념 - 자바스크립트는 프로토타입 기반 언어라 "상속" 개념이 존재하지 않는다. 클래스와 비슷하게 흉내내는 여러 기법(프로토타입) 등을 사용하다 결국 🔥ES6에서 클래스 문법이 추가 되었다. - 클래스는 공통 요소를 지니는 집단을 분류하기 위한 개념이다. - 클래스의 속성을 지니는 실존하는 개체를 인스턴스(instance)라고 한다. 어떤 클래스에 속한 개체는 그 클래스의 조건을 모두 만족하므로 그 클래스의 구체적인 예시, 즉 인스턴스가 된다. - 프로그래밍에서는 클래스를 바탕으로 인스턴스를 만들 때, 비로소 어떤 개체가 클래스의 속성을 지니게 된다. 또한 한 인스턴스는 하나의 클래스만을 바탕으로 만들어진다. * 즉 클래스가 먼저 정의돼야만 그로부터 공통적인 요소를 지니는 개체를 생성할 ..

[리액트] 바벨과 웹팩

- 바벨이란? 🍀자바스크립트 컴파일러 바벨은 입력과 출력이 모두 자바스크립트 코드인 컴파일러다. 초기의 바벨은 ES6 코드를 ES5 코드로 변환해 주는 일만 했지만, 현재는 리액트의 JSX 문법, 타입스크립트, 코드 압축, Proposal 까지 처리 🍀 왜 필요할까? 자바스크립트가 실행되는 환경은 웹 브라우저, NodeJS, Deno 등 다양하게 실행되고, 웹 브라우저 또한 각자 다른 자바스크립트 엔진을 통해 코드를 읽는다. 환경 버전에도 JS는 영향을 받는다(특정 버전 이상에만 실행되는 코드, 특정 브라우저에는 실행되지 않는 코드 등 → 인터넷 익스플로러는 프라미스를 이해하지 못한다!!) 🍀 리액트에서는 왜 써야하나? 브라우저에서 JSX문법을 읽을 수 없기 때문에 필요하다! 즉, 모든 실행 환경에서 정..

[JavaScript] 스터디 9일차_ 프로토타입(2) 체인

2.1 메서드 오버라이드 - prototype 객체를 참조하는 __proto__를 생략하면 인스턴스는 prototype에 정의된 프로퍼티나 메서드를 마치 자신의 것처럼 사용할 수 있다. 만약 인스턴스가 동일한 이름의 프로퍼티 또는 메서드를 가지고 있다면 원본이 그대로 있는 상태에서 다른 대상을 그 위에 얹는다(덮어씌운다). 이것이 메서드 오버라이드! - 자바스크립트 엔진이 getName이라는 메서드를 찾는 방식은 가장 가까운 대상인 자기 자신의 프로퍼티를 검색하고, 없으면 그 다음 가까운 대상인 __proto__를 검색하는 순서로 진행된다. __proto__에 있는 메서드는 검색 순서에서 밀려 호출되지 않는다. let Person = function(name) { this.name = name; }; P..

[JavaScript] 스터디 9일차_ 프로토타입(1) 개념 및 constructor

1. 프로토타입의 개념 - 자바스크립트는 프로토타입 기반 언어다. 클래스 기반 언어에서는 "상속"을 사용하지만, 프로토타입 기반 언어에서는 어떤 객체를 원형(prototype)으로 삼고 이를 복제(참조)함으로써 상속과 비슷한 효과를 얻는다. 1.1 constructor, prototype, instance var instance = new Constructor(); 어떤 생성자 함수(Constructor)를 new 연산자와 함께 호출하면 Constructor에서 정의된 내용을 바탕으로 새로운 인스턴스(instance)가 생성된다. 이때 instance에는 __proto__ 라는 프로퍼티가 자동으로 부여되는데, 이 프로퍼티는 Constructor의 prototype이라는 프로퍼티를 참조한다. ⭐ proto..

[JavaScript] 스터디 8일차_ 클로저 (3) 활용(부분적용함수, 커링함수)

클로저(1) 개념 및 원리 게시글 보러가기 클로저(2) 활용 게시글 보러가기 3. 부분적용함수(Partial application) 부분적용함수(Partially applied function)란 n개의 인자를 받는 함수에 미리 m개의 인자만 넘겨 기억시켰다가, 나중에 (n-m)개의 인자를 넘기면 비로소 원래 함수의 실행결과를 얻을 수 있게끔 하는 함수 ⭐ 여러개의 인자를 전달할 수 있고, 실행 결과를 재실행할 때 원본 함수가 무조건 실행된다. 🌞 부분적용함수를 왜 쓸까? -> 미리 일부 인자를 넘겨두어 기억하게끔하고 추후 필요한 시점에 기억했던 인자들까지 함께 실행하고 싶을 때 3-1) 부분적용함수 예제_1번 - bind 메서드를 통해 this와 함수에 미리 넘길 인수를 일부 지정해서 새로운 함수를 만..