자바스크립트

    [JS] 이중우선순위큐

    이분탐색을 활용해서 풀었다. https://school.programmers.co.kr/learn/courses/30/lessons/42628 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 결국 문제에서 요구하는 것은 3개이다. 최소 , 최대를 바로바로 빼낼 수 있게 도와주는것 . 이분탐색을 활용하여 항상 정렬된 형태로 값을 넣는다면 문제를 해결할 수 있을것이라 생각했다. 이분탐색으로 정렬된 리스트에 값을 넣는것을 빠르게 했고 pop은 시간복잡도가 O(1) 이므로 괜찮을꺼라 생각했다. 조금 주의할점은 shift로 JS에서 shift는 O(n)의 시간복잡도..

    07_유용한 JS지식

    이번에는 여러가지 작업하는데 유용한 문법들을 공부해보겠다 삼항연산자 이전 글에서 잠깐 다룬적 있는데, 조건 ? A : B 꼴의 문법으로 조건이 충족할때는 A, 그렇지 않을때는 B를 실행하여 굳이 if else문을 사용하지 않아도 된다. Truthy and Falsy False와 같은 값들이란 의미로 undefined null 0 '' NaN false 값들이 있다 이 이의외 값은 모두 Truthy 즉, 참으로 구분되게 된다. 특히 null채킹을 할때 function print(person) { if ( !person ){ return; } console.log(person.name); } const person = { name: "mingyu" }; print(person); //mingyu 처럼 fal..

    06_JS_배열 내장함수

    추가적으로 정리해야할 내용이 있다!! 1. 비구조화 할당 객체를 만들고 함수를 통해서 그 객체를 불러낼 때 보통 객체의 이름을 항상 앞에 붙여두어야 하는데, 그걸 쉽게 해주는 것이다. const ironMan = { name: "토니 스타크", actor: "로버트 다우니 주니어", alias: "아이언맨" }; const captainAmerica = { name: "스티브 로저스", actor: "크리스 에반스", alias: "캡틴 아메리카" }; function print(hero) { const { alias, name, actor } = hero; const text = `${alias}(${name}) 역할을 맡은 배우는 ${actor} 입니다`; console.log(text); } pri..

    05_promise,Async-Await

    Promise 위 객체는 비동기 작업이 맞이할 미래의 완료 또는 실패와 그 결과 값을 나타냅니다. 라고 되어 있다. 자세한건 코드를 직접 써보면서 이해를 해보자. 자세한 정보는 아래의 mdn사이트를 참조해도 좋을 것 같다. https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Promise Promise - JavaScript | MDN Promise 객체는 비동기 작업이 맞이할 미래의 완료 또는 실패와 그 결과 값을 나타냅니다. developer.mozilla.org Promise는 ES6부터 JS의 표준 내장 객체로 추가되었다. console.log(Promise) // f Promise() 위와 같이 객체로 포함되..

    04_JS_클래스

    클래스 객체를 만들 수 있는 새로운 방법 클래스를 생성하는 방법은 다음과 같다. class A{ } console.log(new A()); const B = class{}; console.log(new B()); //console.log(new B); 도 가능 //new C(); //class C{}; // 에러(호스팅이 적용되지 않음.) constructor(생성자) C++에서의 생성자 개념과 똑같았다. 객체를 만들때 자동으로 호출되는 함수라고 생각하면 될 꺼 같다. class A{} console.log(new A()); class B{ constructor(){ console.log('constructor'); } } console.log(new B()); class C{ constructor(na..

    03_JS_객체

    객체 (object) 함수,클래스는 결국 '틀'이라 생각할 수 있고, 직접 사용하려면 객체를 생성해야 한다! function A() {} const a = new A(); console.log(a,typeof a); //객체를 생성함 console.log(A()); //함수를 그냥 실행하고 return을 받아옴 즉, 함수를 객체나 객체의 인자로 자유로이 사용이 가능하다는 것이다. function A() { this.name = 'mingyu'; } const a = new A(); console.log(a); //A {name: 'mingyu'} function B() { this.hello = function () { console.log('hello'); } this.name = 'mingyu' } ..