목록Web (25)
희렌버핏
- 탐욕적으로 문제를 해결하는 방법(극단적으로?) - 당장 눈 앞에 보이는 최적의 상황만을 쫓는 알고리즘 - 가장 단순한 형태의 알고리즘 - 최적의 값은 아니지만 최적의 값에 근사값을 빠르게 구할 수 있다 - 특정한 상황에서 최적의 해를 보장 - 극단적으로 문제에 접근하기 때문에 정렬 기법이 함께 사용되는 경우가 많음 (무조건 큰, 작은, 긴, 짧은...) - 대표적 예시 : 크루스칼 알고리즘 (모든 간선 정렬하고 나서 짧은 간선 연결하는 최소 비용 신장 트리 알고리즘) 예시 - 거스름 돈을 줄 때 560원을 준다면 - 1원 555개보다 500원 1개 50원 한개 10원 1개가 낫다. => 무조건 더 큰 화폐 단위부터 거슬러 준다 (최적의 값을 보장) 참고 blog.naver.com/ndb796/2212..
문제 설명 프로그래머스 팀에서는 기능 개선 작업을 수행 중입니다. 각 기능은 진도가 100%일 때 서비스에 반영할 수 있습니다. 또, 각 기능의 개발속도는 모두 다르기 때문에 뒤에 있는 기능이 앞에 있는 기능보다 먼저 개발될 수 있고, 이때 뒤에 있는 기능은 앞에 있는 기능이 배포될 때 함께 배포됩니다. 먼저 배포되어야 하는 순서대로 작업의 진도가 적힌 정수 배열 progresses와 각 작업의 개발 속도가 적힌 정수 배열 speeds가 주어질 때 각 배포마다 몇 개의 기능이 배포되는지를 return 하도록 solution 함수를 완성하세요. 제한 사항 작업의 개수(progresses, speeds배열의 길이)는 100개 이하입니다. 작업 진도는 100 미만의 자연수입니다. 작업 속도는 100 이하의 자..
문제 설명 스파이들은 매일 다른 옷을 조합하여 입어 자신을 위장합니다. 예를 들어 스파이가 가진 옷이 아래와 같고 오늘 스파이가 동그란 안경, 긴 코트, 파란색 티셔츠를 입었다면 다음날은 청바지를 추가로 입거나 동그란 안경 대신 검정 선글라스를 착용하거나 해야 합니다. 종류 이름 얼굴 동그란 안경, 검정 선글라스 상의 파란색 티셔츠 하의 청바지 겉옷 긴 코트 스파이가 가진 의상들이 담긴 2차원 배열 clothes가 주어질 때 서로 다른 옷의 조합의 수를 return 하도록 solution 함수를 작성해주세요. 제한 사항 clothes의 각 행은 [의상의 이름, 의상의 종류]로 이루어져 있습니다. 스파이가 가진 의상의 수는 1개 이상 30개 이하입니다. 같은 이름을 가진 의상은 존재하지 않습니다. clot..
1. 내가 만든 로직 function solution(participant, completion) { participant.sort(); completion.sort(); for(var i=0;i
1. 내가 작성했던 코드 const heights = [3, 9, 9, 3, 5, 7, 2]; var answer = []; let before, after; for (let i = heights.length - 1; i > 0; i--) { before = heights[i]; for (let j = i - 1; j >= 0; j--) { after = heights[j]; if (after > before) { answer.unshift(j + 1); break; } else { if (j == 0) { answer.unshift(0); break; } } } } 2. 다른 사람의 코드 - map으로 간단히 해결할 수 있었다. - 굳이 뒤에서부터 비교할 필요가 없었다. function sol() { ..
1. 일반적인 함수 function key(){ return 'abc123'; }; const key = () => { return 'abc123'; }; const key = () => 'abc123'; 2. 매개변수 2개 이상 function greet(first, last){ return `안녕하세요, ${capitalize(first)} ${capitalize(last)}님`; }; const greet = (firts, last) => { return `안녕하세요, ${capitalize(first)} ${capitalize(last)}님`; }; const greet = (firts, last) => `안녕하세요, ${capitalize(first)} ${capitalize(last)}님`; ..
1. 메소드 종류 1.1. Object.keys() : 객체의 key 출력 1.2. Object.values() : 객체의 value 출력 1.3. Object.assigns(a,b) : b객체를 a객체에 복사 (원본 객체를 변환시킨다) const defaults = { author: '', title: '', year: 2017, rating: null, }; const book = { author: 'Joe Morgan', title: 'Simplifying JavaScript', }; //defaults 객체 값 변경 (book을 defaults에 복사) //book은 원본 데이터 유지 const updated = Object.assign(defaults, book); //원본 그대로 둠 //새로운..
* 웹 표준 검사하기 W3C validator * Visual Studio Code 명령어 html 자동 생성 : html:5 or ! 자동 wraping : ctrl + shift + p => wrap 입력 => 원하는 tag 입력 * 블럭 요소 - DIV, H1, P - 사용 가능한 최대 넓이를 차지 (width:100%, height:0 으로 시작) - 크기 지정 가능 - 수직으로 쌓임 - margin, padding 사용 가능 => 레이아웃 용도 * 인라인 요소 - SPAN, IMG - 필요한만큼의 너비를 사용 (width:0; height:0 으로 시작) - 크기 지정 불가능 - 수평으로 쌓임 (사이 간격 자동으로 들어감) - margin, padding 위/아래 사용 불가능 => text 작업..