본문 바로가기

분류 전체보기

(87)
[JavaScript30] Day 17 Sort Without Articles const bands = ['The Plot in You', 'The Devil Wears Prada', 'Pierce the Veil', 'Norma Jean', 'The Bled', 'Say Anything', 'The Midway State', 'We Came as Romans', 'Counterparts', 'Oh, Sleeper', 'A Skylit Drive', 'Anywhere But Here', 'An Old Dog']; const sortedBands = bands.sort(function (a, b) { if(a > b) { return 1; } else { return -1; } }); console.log(sortedBands); const b..
[프로그래머스 Javascript] Level2 프린터 function solution(priorities, location) { var answer = 0; let printList = []; let documnet = ''; let print = false; let max = 0; priorities = priorities.map((e, i) => e = {'number': i, 'priority': e}); while (priorities.length > 0) { documnet = priorities.shift(); max = priorities.reduce( ( a, c ) => a = Math.max(a, c.priority), 0 ) print = max > documnet.priority ? false : true; print ? printLi..
[JavaScript30] Day 16 Mouse Move Shadow const hero = document.querySelector('.hero'); const text = hero.querySelector('h1'); function shadow(e) { console.log(e); } hero.addEventListener('mousemove', shadow); const hero = document.querySelector('.hero'); const text = hero.querySelector('h1'); function shadow(e) { // console.log(e); // const width = hero.offsetWidth; // const height = hero.offsetHeight; // 위의 두 줄을 아래의 ..
[프로그래머스 Javascript] Level2 기능개발 function solution(progresses, speeds) { var answer = []; const period = progresses.map((e, i) => Math.ceil((100-e)/speeds[i])); const last = period.length - 1; let day = 0; let count = 0; period.forEach(function(e, i) { count++; if (day == 0 || e > day) { day = e; } if (day < period[i+1] || i === last) { answer.push(count); count = 0; } }); return answer; }
[프로그래머스 JavaScript] Level2 다리를 지나는 트럭 ㅎㅎ.... 스택큐 알고리즘으로 푸는 방법을 모르겠다 내 수준은 아직 문제를 읽고 -> 문제 해결 방법을 생각 -> 그 생각을 코드고 옮기는 것 뿐이댱ㅠㅠ function solution(bridge_length, weight, truck_weights) { var answer = 0; let on_bridge = []; let weights_sum = 0; let crossing = true; while (crossing) { ++answer; weights_sum = on_bridge.reduce((a, c) => a + c.truck_w, 0) + truck_weights[0]; if (weights_sum --e.distance); on_bridge.length ? on_bridge = on_br..
[Visual Studio Code] HTML 코드 정렬하기 코드를 정리하고 싶은 부분의 영역을 선택한 후 Ctrl + K 와 Ctrl + F 를 차례대로 입력합니다. HTML 코드가 설정되어있는 서식에 맞춰 정렬됩니다. HTML의 서식 설정은 Settings > Extensions > HTML의 format들을 설정해 주면 됩니다. 설정할 수 있는 HTML format 하나씩 알아보기 HTML › Format: Content Unformatted 내용을 다시 포맷하지 않아야 하는 쉼표로 구분된 태그 목록입니다. null의 기본값은 프리 태그입니다. HTML › Format: Enable 자동으로 정렬해주는 기능을 활성화합니다. 체크 해제 시 Ctrl + K Ctrl + F 를 입력해도 자동으로 정렬이 이루어지지 않습니다. HTML › Format: End Wit..
[JSFiddle] JSFiddle 사용하기 찾으면 다 나오지만 찾기 귀찮아서 적어보는 jsJSFiddle 사용법 Your fiddles에 방금 저장한 버전이 아닌 초기 버전으로 보여지는데 방금 저장한 (가장 마지막 버전)으로 보이게 변경하고 싶음 -> Set as base 클릭 title을 설정하는 방법 -> 코드를 작업하는 부분의 좌측에 Fiddle meta에 작성 -> 처음 등록하는게 아니라면 입력 후 ctrl+s로 저항 후 Set as base를 클릭해야 저장됨 소스에 라이브러리 추가하기 -> Resources에 추가 -> 라이브러리같은 경우 추천 라이브러리 목록 나와서 선택할 수 있음
[JavaScript30] Day 15 LocalStorage 전송될 때, 발생하는 이벤트 생성 const addItems = document.querySelector('.add-items'); const itemsList = document.querySelector('.plates'); const items = []; function addItem(e) { console.log('Hello'); } addItems.addEventListener('submit', addItem); 전송을 하게 되면 Hello라는 글씨가 잠깐 나타났다 사라지는 것을 볼 수 있습니다. 전송하면서 페이지가 새로고침되기 때문인데 설정에서 Preserve log를 체크하면 log를 남길 수 있습니다. 전송되면서 페이지가 새로고침 되는 것을 방지 const addIte..
[프로그래머스 JavaScript] Level1 K번째수 commands.map((e, i) => answer.push((array.slice(e[0] - 1, e[1]).sort((a, b) => a - b))[e[2] - 1]));
[프로그래머스 JavaScript] Level2 가장 큰 수 비교하는 방법 정렬할 때, 두 수를 연결했을 때, 더 큰 수가 나오는 순서로 정렬을 한다. [초기 코드] function solution(numbers) { var answer = ''; numbers = numbers.map(e => String(e)); numbers.sort((a, b) => { if (a+b > b+a) { return -1; } else if (a+b answer += e); return answer; } ㅊ function solution(numbers) { var answer = ''; numbers = numbers.map(e => String(e)); numbers.sort((a, b) => { if..
[프로그래머스 JavaScript] Level2 H-Index - 논문 n편 중, h번 이상 인용된 논문이 h편 이상일때, h의 최댓값이 이 과학자의 H-Index - 인용 횟수를 담은 배열 citations가 매개변수로 주어질 때, 이 과학자의 H-Index를 return - 논문의 수는 1편 이상 1,000편 이하 - 인용 횟수는 0회 이상 10,000회 이하 function solution(citations) { var answer = 0; for (let h = citations.length; h > 0; h--) { let q = 0; q = citations.filter(e => e >= h).length; answer = q === h && answer < h ? h : answer; } return answer; } 채점결과 11번만 오류 h번 이상 ..
[프로그래머스 JavaScript] Level2 탑 function solution(heights) { var answer = []; const length = heights.length; heights.reverse(); answer = heights.map((e, i) => { for (let j = i+1; j < length; j++) { if (e < heights[j]) { return length - j; } } return 0; }).reverse(); return answer; }
[JavaScript30] Day 14 JavaScript References VS Copying // start with strings, numbers and booleans let age = 100; let age2 = age; console.log(age, age2); age = 200; console.log(age, age2); let name = 'wes'; let name2 = name; console.log(name, name2); name = 'wesley'; console.log(name, name2); age2 = age 이지만, age가 재할당 된다고 해서, age2도 재할당되는 것은 아닙니다. 이것은 string에서도 동일합니다. // Let's say we have an array const players = ['Wes..
[프로그래머스 JavaScript] Level1 [1차] 비밀지도 - 지도는 한 변의 길이가 n인 정사각형 배열 형태로, 각 칸은 공백 또는 # 두 종류로 이루어짐 - 전체 지도는 두장의 지도를 겹쳐서 얻음 - 1또는 2 둘 중 하나라도 벽이면 벽 - 지도 1과 지도 2는 각각 정수 배열로 암호화 - 암호화된 배열을 이진수로 변환했하여 0이면 공백 1이면 벽 - 원래의 비밀지도를 해독하여 '#', 공백으로 구성된 문자열 배열로 출력 비트연산 정수를 이진수로 표현하여 0 또는 1의 값을 가질 때, 한자리의 숫자를 비트(bit)라고 한다. 비트 연산자의 종류 & (ADN) 모두 1이면 1을 반환 | (OR) 하나라도 1이면 1을 반환 ^ (XOR) 서로 다르면 1을 반환 ~ (NOT) 값을 반전하여 반환 지도를 겹치면 나올 숫자를 체크합니다. 둘 중 하나라도 1이면 1을 ..
[프로그래머스 JavaScript] Level1 실패율 function solution(N, stages) { var answer = []; var status = []; let users = stages.length; for (let i = 0; i i i+1 == e).length; let fail = stay / tried; status.push({stage: i + 1, fail: fail}); status.sort((a, b) => b.fail - a.fail); } for (let i = 0; i < N; i++){ answer.push(status[i].stage); } return answer..
[프로그래머스 JavaScript] Level1 예산 - 물품을 구매해 줄 때는 각 부서가 신청한 금액만큼을 모두 지원해 줘야 합니다. - 부서별로 신청한 금액이 들어있는 배열 d와 예산 budget이 매개변수로 주어집니다. - 최대 몇 개의 부서에 물품을 지원할 수 있는지 return 최대한 많은 부서에 물품을 비원할 수 있으려면, 신청 금액이 적은 부터들부터 주는것이 최대한 많이 줄 수 있는 방법이다. reduce로 누적 합계를 끝까지 구하긴 하지만 예산보다 작은 경우에는 숫자를 카운트(answer++; answer을 1씩 추가)하여 누적 함수 몇번째까지 예산안에 들어오는지 확인해줍니다. function solution(d, budget) { var answer = 0; d.sort( (a, b) => a - b ); // 작은 수부터 나열 d.redu..
[JavaScript30] Day 13 Slide in on Scroll 스크롤하여 내려가다 이미지 있는 부분에 도달하면 이미지 애니메이션이 작동되는 기능 const sliderImages = document.querySelectorAll('.slide-in'); function checkSlide(e) { // console.log(e); // console.count(e); // console.log(window.scrollY); sliderImages.forEach(sliderImage => { // 이미지의 절반이 보이는 높이까지 스크롤되면 이미지 나옴 // half way throught the image const slideInAt = (window.scrollY + window.innerHeight) - sliderImage.he..
[프로그래머스 JavaScript] Level1 크레인 인형뽑기 게임 function solution(board, moves) { let answer = 0; let count = moves.length; // 움직일 횟수 let col = board.length; // 현재 board의 col수 let bascket = []; // 뽑은 인형 쌓는 바구니 let lastItem = 0; // 바구니의 마지막 인덱스 for (let i = 0; i < count; i++) { let selected = moves[i] - 1; // 선택되어진 열 let pick = 0; // 뽑은 인형 // 해당 열에서 가져올 인형 (0은 인형없는 빈칸) for (let j = 0; j < col; j++) { if (board[j][selected] !== 0) { // 뽑힌 인형 pi..
[프로그래머스 JavaScript] Level1 체육복 논리 NOT( ! ) 연산자는 true 값을 false 로 변환 false 으로 변환할 수 있는 표현 null NaN 0 빈 문자열 ("", '', ``) undefined 위의 표현을 제외한 나머지는 true !true // false !-1 // false !"-1" // false !35 // false !"35" // false !"cat" // false !"true" // false !"false" // false !{} // false ![] // false !function(){} // false !false // true !null // true !undefined // true !NaN // true !0 // true !"" // true function solution(n, lost..
[프로그래머스 MySQL] Level1 SELECT 선택할 column FROM 내용을 가져올 테이블 WHERE 조건 ORDER BY 오름차순/내림차순 정렬, default: ASC(오름차순), DESC(내림차순) 모든 레코드 조회하기 동물의 정보를 ANIMAL_ID순으로 조회 SELECT * FROM ANIMAL_INS ORDER BY ANIMAL_ID; 역순 정렬하기 동물 보호소에 들어온 모든 동물의 이름과, 보호시작일을 조회 결과는 ANIMAL_ID 역순 SELECT NAME, DATETIME FROM ANIMAL_INS ORDER BY ANIMAL_ID DESC; 아픈 동물 찾기 보호소에 들어온 동물 중 아픈 동물 (INTAKE_CONDITION이 Sick인 경우) 결과는 ID 순으로 SELECT ANIMAL_ID, NAME FROM ..