💁♀️ 겹치는 선분선분 3개가 평행하게 놓여 있습니다. 세 선분의 시작과 끝 좌표가 [[start, end], [start, end], [start, end]] 형태로 들어있는 2차원 배열 lines가 매개변수로 주어질 때, 두 개 이상의 선분이 겹치는 부분의 길이를 return 하도록 solution 함수를 완성해보세요. lines가 [[0, 2], [-3, -1], [-2, 1]]일 때 그림으로 나타내면 다음과 같습니다. 선분이 두 개 이상 겹친 곳은 [-2, -1], [0, 1]로 길이 2만큼 겹쳐있습니다. 입출력 예 설명 입출력 예 #1두 번째, 세 번째 선분 [2, 5], [3, 9]가 [3, 5] 구간에 겹쳐있으므로 2를 return 합니다.입출력 예 #2겹친 선분이 없으므로 0을 retu..
JavaScript
💁♀️ 평행점 네 개의 좌표를 담은 이차원 배열 dots가 다음과 같이 매개변수로 주어집니다.[[x1, y1], [x2, y2], [x3, y3], [x4, y4]] 주어진 네 개의 점을 두 개씩 이었을 때, 두 직선이 평행이 되는 경우가 있으면 1을 없으면 0을 return 하도록solution 함수를 완성해보세요. 제한사항dots의 길이 = 4dots의 원소는 [x, y] 형태이며 x, y는 정수입니다.0 ≤ x, y ≤ 100서로 다른 두개 이상의 점이 겹치는 경우는 없습니다.두 직선이 겹치는 경우(일치하는 경우)에도 1을 return 해주세요.임의의 두 점을 이은 직선이 x축 또는 y축과 평행한 경우는 주어지지 않습니다.입출력 예dotsresult설명[[1, 4], [9, 2], [3, 8],..
function solution(arr){ const newArr = []; for(i = 0; i 스택, 큐 후입선출 방식으로 풀이
💁♀️ 예산S사에서는 각 부서에 필요한 물품을 지원해 주기 위해 부서별로 물품을 구매하는데 필요한 금액을 조사했습니다. 그러나, 전체 예산이 정해져 있기 때문에 모든 부서의 물품을 구매해 줄 수는 없습니다. 그래서 최대한 많은 부서의 물품을 구매해 줄 수 있도록 하려고 합니다. 물품을 구매해 줄 때는 각 부서가 신청한 금액만큼을 모두 지원해 줘야 합니다. 예를 들어 1,000원을 신청한 부서에는 정확히 1,000원을 지원해야 하며, 1,000원보다 적은 금액을 지원해 줄 수는 없습니다. 부서별로 신청한 금액이 들어있는 배열 d와 예산 budget이 매개변수로 주어질 때, 최대 몇 개의 부서에 물품을 지원할 수 있는지 return 하도록 solution 함수를 완성해주세요. 👩💻 풀이functio..
Super - 부모 클래스 - super 키워드는 constructor 안에서랑 함수에서만 사용할 수 있다. class Person { name; year; constructor(name, year) { this.name = name; this.year = year; } sayHello() { return `Hello I'm ${this.name}`; } } class Singer extends Person { sing() { return `노래합니다.`; } constructor(name, year, part) { // 부모 클래스 // Person() 이거랑 똑같음 super(name, year); this.part = part; } sayHello() { // undefined입니다. rap 파트입..
상속, Inheritance - 상속은 객체들 간의 관계를 구축하는 방법이다. - 수퍼 클래스(또는 부모 클래스)등의 기존의 클래스로부터 속성과 동작을 상속받을 수 있다. - 공통되는 데이터를 정리할 수 있는 방법이다. class Person { name; year; constructor(name, year) { this.name = name; this.year = year; } } class Singer extends Person { sing() { return `노래합니다.`; } } class Actor extends Person { acting() { return `연기합니다.`; } } const zico = new Singer("zico", 1993); console.log(zico); // ..
Static - 객체에 귀속되지 않는다. - 클래스에 직접 귀속돼서 new로 쓸 필요 없다. class Person { name; year; static groupName = '쑤'; constructor(name, year) { this.name = name; this.year = year; } // 함수도 가능 static returnGroupName() { return '쑤'; } } const soo = new Person('soo', 1997); // 객체에 귀속되지 않는다. console.log(soo);// Person { name: 'soo', year: 1997 } // 그럼 어디에 귀속돼있나? // 클래스 자체에 귀속되어있다! console.log(Person.groupName)// 쑤..
Copy of Value - 값에 의한 전달 Copy of Reference - 참조에 의한 전달 - 기본적으로 모든 primitive 값은 값에 의한 전달이다.(function, object, array 빼고 나머지) - 객체는 참조에 의한 전달이다 const soo1 = { name: 'sooyoung', age: 27 } const soo2 = soo1; const soo3 = { name: 'sooyoung', age: 27 } const soo4 = { ...soo3, } console.log(soo1 === soo2);// true console.log(soo1 === soo3);// false console.log(soo2 === soo3);// false console.log(soo3 ==..
http 상태 코드 몇가지 정리해보기 🟢 1~ Informational 요청이 수신되어 처리 중이라는 의미를 가진다. 100 Continue 처리가 되었으니 다음으로 진행 101 Switching Protocols 서버가 프로토콜을 전환중 102 Processing 서버가 요청을 아직 처리중이라 제대로된 응답을 알려줄수 없음 103 Early Hints 웹페이지에 필요한 리소스에 대한 힌트를 제공하여 리소스를 사전 로드하여 로딩을 빠르게 🟢 2~ Success 요청이 정상적으로 처리되었다는 의미를 가진다. 200 OK 클라이언트의 요청을 서버가 정상적으로 처리 201 Created 클라이언트의 요청을 서버가 정상적으로 처리했고 새로운 리소스가 생김 202 Accepted 클라이언트의 요청은 정상적이나, ..
본격적인 node.js 주차가 시작됐다. 자바스크립트 꽤 익숙해진 줄 알았는데 아직 써보지 못했던 구조 분해 할당이 헷갈려 기록해봐야겠다. 🧨 구조 분해 할당 - 배열이나 객체의 속성을 해체하여 그 안의 값을 개별 변수로 담을 수 있게 하는 표현식 - 구조화된 배열과 같은 이터러블 또는 객체를 구조파괴(destructuring) 하여 1개 이상의 변수에 개별적으로 할당하는 것을 말한다. - 배열의 각 요소를 배열로부터 추출, 1개 이상의 변수에 할당한다.(배열의 길이에 맞춰서 변수 할당 하지 않아도 OK) - 배열 구조 분해 할당의 대상(할당문의 우변)은 이터러블이어야 한다. 🙋♀️ 이터러블? Symbol.iterator를 프로퍼티 키로 사용한 메서드를 직접 구현하거나 프로토 타입 체인 통해 상속 받은..
