일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 | 31 |
- 너비 우선 탐색
- Stack
- programmers
- 소프티어
- 메모이제이션
- SQL 고득점 KIT
- softeer
- level3
- 브루트포스
- level 3
- bfs
- 다이나믹프로그래밍
- 프로그래머스
- Lv. 0
- 문자열
- javascript
- Lv. 1
- Java
- 스택
- 깊이 우선 탐색
- 파이썬
- Lv. 2
- group by
- DP
- dfs
- Dynamic Programming
- Python
- 자바스크립트
- Lv. 3
- C언어
- Today
- Total
목록javascript (102)
몸과 마음이 건전한 SW 개발자
문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/178871 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 정답 코드 function solution(players, callings) { let result = [...players]; const ranksP = {}; players.forEach((p, i) => { ranksP[p] = i; }); callings.forEach((p) => { // 현재 플레이어의 순위 const rank = ranksP[p]; const nextR =..
문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/258712 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 정답 코드 function solution(friends, gifts) { const n = friends.length; const dictFriends = {}; // n번째 인덱스가 선물지수 let dp = Array(n).fill().map(() => Array(n+1).fill().map(() => [0, 0])); friends.forEach((f, i) => { dictFr..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/dwWxnt/btsGce5AAXO/l60JGqEXdXLk3RNYKOjGhK/img.png)
문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/258709 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 정답 코드 function solution(dice) { const n = dice.length; const halfN = n / 2; const m = dice[0].length; const dictD = {}; // n 개 중에서 n // 2개 고르기 const dfs2 = (s, v, dk, tot) => { if (s == halfN) { dictD[dk].push(tot); ..
문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/250136 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 정답 코드 function solution(land) { const [n, m] = [land.length, land[0].length]; const dr = [-1, 1, 0, 0]; const dc = [0, 0, -1, 1]; const isValid = (nr, nc) => { return 0 { // 몇 번 열에서 석유를 뽑았는지 확인해줄 배열 let visited = Arr..
구현 // 최대공약수 const gcd = (n1, n2) => { // 일반적으로 n1이 크다고 전제하고 계산 if (n2 > n1) { [n1, n2] = [n2, n1]; }; // n2가 0이 될 때까지 진행 while (n2) { [n1, n2] = [n2, n1%n2]; }; return n1 }; // 단순 최소공배수 const simpleLcm = (n1, n2) => { for (let num = Math.max(n1, n2); num { // 최대공약수를 활용 return (n1 * n2) / gcd(n1, n2); }; console.log(uclidLcm(123, 456)); // 18696 console.log(simpleLcm(123, 456)); // 18696
문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/42898 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 정답 코드 function solution(m, n, puddles) { // DP 배열 초기화 let dp = Array(n + 1).fill(0).map(() => Array(m + 1).fill(0)); // 시작 지점 설정 dp[1][1] = 1; // 물웅덩이 설정 puddles.forEach(([c, r]) => { dp[r][c] = -1; }); // DP를 이용한 경로의..