분류 전체보기

[인프런] Node.js / 섹션7-정렬과 그리디, 결정알고리즘 / 7. 좌표정렬

문제 N개의 평면상의 좌표(x, y)가 주어지면 모든 좌표를 오름차순으로 정렬하는 프로그램을 작성하 세요. 정렬기준은 먼저 x값의 의해서 정렬하고, x값이 같을 경우 y값에 의해 정렬합니다. 풀이 function solution(arr) { let answer = arr; let j; for (let i = 1; i < answer.length; i++) { j = i; console.log(answer[i] < answer[i - 1]); while (answer[j] < answer[j - 1]) { [answer[j], answer[j - 1]] = [answer[j - 1], answer[j]]; j -= 1; } } return answer; } let arr = [ [2, 7], [1, 3],..

[인프런] Node.js / 섹션7-정렬과 그리디, 결정알고리즘 / 6. 장난꾸러기 현수

문제 선생님은 반 학생들에게 반 번호를 정해 주기 위해 반 학생들을 키가 가장 작은 학 생부터 일렬로 키순으로 세웠습니다. 제일 앞에 가장 작은 학생부터 반 번호를 1번부터 N번까 지 부여합니다. 현수는 짝꿍보다 키가 큽니다. 그런데 현수가 앞 번호를 받고 싶어 짝꿍과 자리를 바꿨습니다. 선생님은 이 사실을 모르고 학생들에게 서있는 순서대로 번호를 부여했습니 다. 현수와 짝꿍이 자리를 바꾼 반 학생들의 일렬로 서있는 키 정보가 주어질 때 현수가 받은 번호와 현수 짝꿍이 받은 번호를 차례로 출력하세요. 풀이 function solution(arr) { let answer = []; let sortArr = arr.slice(); sortArr.sort((a, b) => a - b); for (let i =..

[인프런] Node.js / 섹션7-정렬과 그리디, 결정알고리즘 / 5. Least Recently Used(카카오 캐시 문제 변형)

문제 풀이 function solution(size, arr) { const cach = []; for (let i = 0; i size - 1) cach.pop(); cach.unshift(arr[i]); } } return cach; } let arr = [1, 2, 3, 2, 6, 2, 3, 5, 7]; console.log(solution(5, arr)); 현재 작업을 캐시배열의 맨 앞에 두고 뒷 숫자들은 한 칸씩 밀려나도록 한다. 만약 캐시배열에 있었던 ..

[인프런] Node.js / 섹션7-정렬과 그리디, 결정알고리즘 / 4. 삽입정렬

문제 N개이 숫자가 입력되면 오름차순으로 삽입정렬로 정렬 풀이 function solution(arr) { let answer = arr; for (let i = 0; i < answer.length; i++) { j = i; while (answer[j] < answer[j - 1]) { [answer[j], answer[j - 1]] = [answer[j - 1], answer[j]]; j -= 1; } } return answer; } let arr = [11, 7, 5, 6, 10, 9]; console.log(solution(arr)); 선택한 숫자와 바로 앞의 숫자와 비교해서 더 작으면 위치를 바꿔준다. 항상 왼쪽이 자기보다 크다는, 즉 ‘정렬이 되어있다'는 가정 하에 탐색을 하므로 만약 자신..

[인프런] Node.js / 섹션7-정렬과 그리디, 결정알고리즘 / 3. Special Sort(구글 인터뷰)

문제 N개의 정수를 정렬해야 한다. 음의 정수는 앞쪽에 양의정수는 뒷쪽에 있어야 한다. 또한 양의정수와 음의정수의 순서에는 변함이 없어야 한다. 숫자 0은 입력되지 않는다. 풀이 function solution(arr) { let answer = arr; for (let i = 0; i answer[j + 1]) { if (answer[j] > 0 && answer[j + 1] < 0) { [answer[j], answer[j + 1]] = [answer[j + 1], answer[j]]; } } } } return answer; } le..

[인프런] Node.js / 섹션7-정렬과 그리디, 결정알고리즘 / 2. 버블정렬

문제 N개이 숫자가 입력되면 오름차순으로 정렬하여 출력. 단, 버블정렬로 해야한다. 풀이 function solution(arr) { let answer = arr; for (let i = 0; i answer[j + 1]) { [answer[j], answer[j + 1]] = [answer[j + 1], answer[j]]; } } } return answer; } let arr = [13, 5, 11, 7, 23, 15]; console.log(solution(arr)); 이웃한 두 숫자끼리 비교해서 더 작은 숫자를 앞으로 보내주는 ..

[JSCODE] React 2회차 심화미션

미션1 : CRA를 사용하지 않고 리액트 프로젝트를 만들어보세요.1. Node.js가 있는지 확인아래 명령어를 통해 Node.js가 있는지 확인한다.node -v 2. package.json 생성npm init -y-y는 yes라는 의미다.처음에 폴더명을 한글로 했더니 에러가 나서 영어로 고쳐줬다. 한글로 작성하면 안되나 보다.해당 명령어를 입력하면 기본적인 세팅이 되어있는 package.js 파일이 생성된다. 3. webpack 설치npm install --save-dev webpack npm install --save-dev webpack-cli npm install --save-dev webpack-dev-server위 명령어를 입력하면 package.json에 다음과 같은 코드가 생성된다.그리고 ..

React 2023.02.14