일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- 알고리즘
- programmers
- 토익
- 2주 프로젝트
- Async
- 코어 자바스크립트
- 4주 프로젝트
- 코드스테이츠
- 회고
- 렛츠기릿 자바스크립트
- 리액트
- js
- 타입스크립트
- 리덕스
- LeetCode
- 자바스크립트
- 손에 익히며 배우는 네트워크 첫걸음
- 리트코드
- SQL 고득점 Kit
- 정재남
- 파이썬
- 프로그래머스
- til
- 백준
- python
- 타입스크립트 올인원
- 제로초
- 타임어택
- codestates
- javascript
- Today
- Total
목록Problem Solving (205)
Jerry
function solution(score) { let avg = score.map((e) => e = e.reduce((a,c) => a + c, 0) / e.length); let sorted = avg.slice().sort((a, b) => b- a); return avg.map((e) => sorted.indexOf(e) + 1); }
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/bZqLmu/btrXHHC8hoK/tchpQmWJkKm48Ix3L8e50k/img.jpg)
function solution(numlist, n) { // n과 가까운 숫자순대로 배치 // 거리의 숫자가 같을 경우, 큰 숫자가 먼저 배치 let answer = []; numlist.forEach((e, i) => { let diff = Math.abs(e - n); let arr = []; answer.push([e, diff]); }) answer.sort((a, b) => a[1] - b[1] || b[0] - a[0]); // answer 배열안의 각 배열의 1번 인덱스를 오름 차순으로 먼저 정렬하고, 0번인덱스를 내림 차순으로 정렬합니다. return answer.map((e) => e.splice(0, 1)[0]); }
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/enzpFE/btrXzZxkWsQ/wBX1oRyxivHWacYiwJgUgK/img.jpg)
function solution(sides) { // 가장 긴 변의 길이는 다른 두 변의 길이의 합보다 작아야 합니다. // 주어진 두 변이 최대 길이의 변이 아닌 경우 // 가장 긴 변(x)의 길이가 다른 두 변의 길이의 합보다 작은 경우 // 주어진 두 변 중에 최대 길의 변이 있는 경우 // 주어진 두 변 중 긴 변의 길이가 나머지 한 변의 길이와 나머지 한 변의 길이보다 작은 경우 // x < side1 + side2 // max(side) < x + min(side) // max(side) - min(side) < x < side1 + side2 let maxNum = Math.max(...sides); let minNum = Math.min(...sides); let sum = sides.re..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/vAtXj/btrXo5Dwknl/ssFQoUQ2AYz3MgZQkcEKO0/img.jpg)
function solution(dots) { let arr = []; for (let y = 0; y < dots.length; y++) { for (let x = y + 1; x < dots.length; x++) { const inclination = (dots[y][1] - dots[x][1]) / (dots[y][0] - dots[x][0]); if (arr.includes(inclination)) return 1; arr.push(inclination); } } return 0; } 어렵게 생각했다. 각 경우의 수 마다의 기울기를 배열에 넣어 겹치는 기울기가 있는지 없는지 여부를 파악하여 답을 구하는 방법, 더 간단한 방법을 알게 되었다.
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/mTxGV/btrXnIhJEn1/q1sFq0TPdG7zLNc27KMlTk/img.jpg)
function solution(n) { // 3의 배수, 숫자 3 사용하지 않음 let arr = new Array(2).fill(0); for (let i = 0; i 100) break; } return arr[n - 1][1]; } // 다른 풀이 function solution(n) { let arr = []; let num = 0; while (arr.length !=..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/HM0Oa/btrXi3yoPKC/nOxxuZf3e6gt7K3h6MVAVK/img.jpg)
function solution(board) { let arr = []; board.forEach((e, i) => e.forEach((t, idx) => { if (t === 1) arr.push([i, idx]); })) arr.forEach((e) => { const y = e[0]; const x = e[1]; try { board[y - 1].splice(x, 1, 1); } catch {} try { board[y - 1].splice(x + 1, 1, 1); } catch {} try { board[y].splice(x + 1, 1, 1); } catch {} try { board[y + 1][x + 1] = 1; } catch {} try { board[y + 1][x] = 1; } cat..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/cGvaZt/btrW9mzkURN/CfJ0aKUHC4CwGSopr4WKE0/img.jpg)
function solution(spell, dic) { const isExist = []; dic.forEach((e) => { let cnt = 0; spell.forEach((i) => { if (e.includes(i)) cnt++; }); if (cnt === spell.length) isExist.push(e); }); return isExist.length === 0 ? 2 : 1; }
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/t2Lgs/btrXaC9wneS/MIZNCPD83wimZ9WyL1CtJk/img.jpg)
function solution(my_string) { let arr = [...my_string]; let total = []; let t = ''; for (let i = 0; i a + Number(c), 0); } // 다른 풀이 function solution(my_string) { return my_string.split(/\D+/).reduce((acc, cur) => acc + Number(cur), 0); } //..