분류 전체보기
-
[프로그래머스 JS] K번째수자료구조와 알고리즘 2022. 6. 17. 15:10
문제 설명 배열 array의 i번째 숫자부터 j번째 숫자까지 자르고 정렬했을 때, k번째에 있는 수를 구하려 합니다. 예를 들어 array가 [1, 5, 2, 6, 3, 7, 4], i = 2, j = 5, k = 3이라면 array의 2번째부터 5번째까지 자르면 [5, 2, 6, 3]입니다. 1에서 나온 배열을 정렬하면 [2, 3, 5, 6]입니다. 2에서 나온 배열의 3번째 숫자는 5입니다. 배열 array, [i, j, k]를 원소로 가진 2차원 배열 commands가 매개변수로 주어질 때, commands의 모든 원소에 대해 앞서 설명한 연산을 적용했을 때 나온 결과를 배열에 담아 return 하도록 solution 함수를 작성해주세요. 제한사항 array의 길이는 1 이상 100 이하입니다. a..
-
[JS] 스택 Stack & 큐 Queue자료구조와 알고리즘 2022. 6. 14. 17:28
어제부터 14일 동안 코딩 테스트를 준비하기 위해 자료구조와 알고리즘 공부를 하기 위해! 파이팅! Stack? LIFO Last In First Out이란 뜻으로, 마지막에 들어간 것이 처음 빠지는 구조를 뜻한다. 배열의 push와 pop을 사용하여 stack처럼 사용할 수 있다. push(item) 특정한 배열의 마지막에 item를 추가하고 새로운 길이를 반환 pop() 특정한 배열의 마지막 요소를 제거하고 그 요소를 반환 Queue? FIFO First In First Out이란 뜻으로, 처음 들어간 것이 먼저 빠지는 구조를 뜻한다. 배열의 shift와 unshift를 사용하여 queue처럼 사용할 수 있다. shift() 배열의 첫 번째 요소를 제거하고 제거된 요소를 제거 본 배열의 길이는 변한다...
-
[프로그래머스 JS] 완주하지 못한 선수자료구조와 알고리즘 2022. 6. 13. 21:15
문제 설명 수많은 마라톤 선수들이 마라톤에 참여하였습니다. 단 한 명의 선수를 제외하고는 모든 선수가 마라톤을 완주하였습니다. 마라톤에 참여한 선수들의 이름이 담긴 배열 participant와 완주한 선수들의 이름이 담긴 배열 completion이 주어질 때, 완주하지 못한 선수의 이름을 return 하도록 solution 함수를 작성해주세요. 제한사항 마라톤 경기에 참여한 선수의 수는 1명 이상 100,000명 이하입니다. completion의 길이는 participant의 길이보다 1 작습니다. 참가자의 이름은 1개 이상 20개 이하의 알파벳 소문자로 이루어져 있습니다. 참가자 중에는 동명이인이 있을 수 있습니다. const participant = ["leo", "kiki", "eden"]; con..
-
[프로그래머스 JS] 위장자료구조와 알고리즘 2022. 6. 13. 14:28
문제 설명 스파이가 가진 의상들이 담긴 2차원 배열 clothes가 주어질 때 서로 다른 옷의 조합의 수를 return 하도록 solution 함수를 작성해주세요. 제한사항 clothes의 각 행은 [의상의 이름, 의상의 종류]로 이루어져 있습니다. 스파이가 가진 의상의 수는 1개 이상 30개 이하입니다. 같은 이름을 가진 의상은 존재하지 않습니다. clothes의 모든 원소는 문자열로 이루어져 있습니다. 모든 문자열의 길이는 1 이상 20 이하인 자연수이고 알파벳 소문자 또는 '_' 로만 이루어져 있습니다. 스파이는 하루에 최소 한 개의 의상은 입습니다. 입출력 예 clothes = [["yellowhat", "headgear"], ["bluesunglasses", "eyewear"], ["green_..
-
객체 프로퍼티 존재 확인하기JavaScript 2022. 6. 12. 16:24
코딩 테스트를 하면서 자바스크립트의 메서드를 더욱더 단단하게 공부해야겠다는 생각이 들었다. 객체에 대해서 말해보자. 객체 객체는 key와 value을 한 쌍으로 이루어진 형태이다. 특정 프로퍼티(Key) 확인하기 객체 안의 특정 프로퍼티의 존재를 확인하고 싶다면 (1) in 연산자를 사용해보자. const obj = { name: "suin", age: "18" }; console.log("name" in obj); //true in 연산자를 사용하면 해당 프로퍼티가 객체 안에 있는지 없는지를 boolean 값으로 출력해준다. (2) Reflect.has(객체, "프로퍼티") 는 ES6에서 도입된 문법으로 in 연산자와 같은 역할을 한다. const obj = { name: "suin" }; consol..
-
new 연산자와 생성자 함수JavaScript 2022. 6. 3. 17:16
객체 리터럴을 사용하면 객체를 만들 수 있다. /* 객체 리터럴 */ const user = { name : "janggu", age : 25, }; 하지만 비슷한 객체를 여러 개 만들어야 할 경우가 있을 때, 객체 리터럴을 사용하기엔 너무 많은 중복이 일어난다. 그럴 때, new연산자와 생성자 함수를 사용하여 객체의 중복을 줄여보자. 생성자 함수 constructor function 생성자 함수는 함수의 첫 글자를 대문자로 시작해야 하고, 함수 앞에 new 연산자를 붙여 실행하는 컨벤션이 있다. function User(name, age) { this.name = name; this.age = age; } const user = new User("짱구", 7); console.log(user.name)..
-
after & before카테고리 없음 2022. 5. 24. 00:30
가상 요소 별도의 class를 지정하지 않아도 지정한 것처럼 요소를 선택할 수 있다. after 실제 내용 바로 뒤에서 생성되는 자식요소 before 실제 내용 바로 앞에서 생성되는 자식요소 content="" 가짜 속성으로 after와 before를 사용할 때, 같이 쓰인다. after & before를 사용하는 곳을 살펴보자 GNB의 내용 구분 bar 생성 웹페이지 상단의 header부분에서 gnb 내용을 구분할 때 사용하는 bar를 생성할 수 있다. after before 앞과 뒤에 추가 정보를 생성 after before 둘다 같은 속성과 같은 값을 주었을 때, 차이점은 앞에 가상요소가 생기는지 뒤에 생기는 지의 차이다. 가상요소를 사용할 수 없을 때 대체요소(img, video 등)는 가상요소를..
-
DOM 요소 선택 / 변경JavaScript 2022. 5. 16. 16:29
DOM 요소 선택 자바스크립트에서 HTML의 요소를 선택해보자. 6가지의 방법을 통해서 요소를 선택할 수 있다. 1) HTML 태그 이름으로 선택하기 getElementsByTagName() HTML 태그 이름을 이용하여 HTML 요소를 선택합니다. 위의 메서드를 사용하여 HTML요소에 접근, 생성, 변경할 수 있다. let selectTagName = document.getElementByTagName("p"); //모든 요소를 선택한다. for (let i = 0; i < selectTagName.length; i++) { //태그의 수만큼 selectTagName.item(i).style.color = "red"; } // 선택된 모든 의 텍스트 색상을 변경함. item()메서드는 해당 HTML 객..