javascript
-
문제 이름 : 베스트앨범 function solution(genres, plays) { // answer에는 각각의 장르, 재생횟수, 고유번호를 담고 // sumDic에 각 해시 키값마다 재생횟수를 더해서 sort를 위해 저장합니다. let answer = []; let sumDic = {}; genres.forEach((el, i)=> { answer.push({genres: el, count: plays[i], index: i}); if(el in sumDic){ sumDic[el] += plays[i]; }else sumDic[el] = plays[i]; }) // 위에 sumDic에 저장한 카테고리별 재생횟수를 이용하여 sort합니다. // sort 1 -> 같은 장르가 아니면 카테고리별 재생횟수..
[Programmers] 베스트앨범 문제 - (javascript)문제 이름 : 베스트앨범 function solution(genres, plays) { // answer에는 각각의 장르, 재생횟수, 고유번호를 담고 // sumDic에 각 해시 키값마다 재생횟수를 더해서 sort를 위해 저장합니다. let answer = []; let sumDic = {}; genres.forEach((el, i)=> { answer.push({genres: el, count: plays[i], index: i}); if(el in sumDic){ sumDic[el] += plays[i]; }else sumDic[el] = plays[i]; }) // 위에 sumDic에 저장한 카테고리별 재생횟수를 이용하여 sort합니다. // sort 1 -> 같은 장르가 아니면 카테고리별 재생횟수..
2022.02.08 -
문제 번호 : 2206 문제 바로가기 ☞ https://www.acmicpc.net/problem/2206 const fs = require("fs"); const filePath = process.platform === "linux" ? "/dev/stdin" : "./input.txt"; let input = fs.readFileSync(filePath).toString().trim().split("\r\n"); const dy = [-1, 1, 0, 0]; const dx = [0, 0, -1, 1]; const [by, bx] = input[0].split(" ").map(Number); let visited = Array.from(Array(by), () => Array.from(Array(bx..
[BaekJoon] 2206 번 벽 부수고 이동하기 문제 - (nodejs)문제 번호 : 2206 문제 바로가기 ☞ https://www.acmicpc.net/problem/2206 const fs = require("fs"); const filePath = process.platform === "linux" ? "/dev/stdin" : "./input.txt"; let input = fs.readFileSync(filePath).toString().trim().split("\r\n"); const dy = [-1, 1, 0, 0]; const dx = [0, 0, -1, 1]; const [by, bx] = input[0].split(" ").map(Number); let visited = Array.from(Array(by), () => Array.from(Array(bx..
2022.02.07 -
문제 이름 : 아이템 줍기 function solution(rectangle, characterX, characterY, itemX, itemY) { let answer = []; let board = Array.from(Array(101), () => new Array(101).fill(0)); rectangle.forEach((el, i)=>{ const yStart = el[1]*2; const yEnd = el[3]*2; const xStart = el[0]*2; const xEnd = el[2]*2; for(let y=yStart; y new Array(101).fill(false)); while(queue.length){ [y, x, cnt] = queue.shift(); visited[y][..
[Programmers] 아이템 줍기 문제 - (javascript)문제 이름 : 아이템 줍기 function solution(rectangle, characterX, characterY, itemX, itemY) { let answer = []; let board = Array.from(Array(101), () => new Array(101).fill(0)); rectangle.forEach((el, i)=>{ const yStart = el[1]*2; const yEnd = el[3]*2; const xStart = el[0]*2; const xEnd = el[2]*2; for(let y=yStart; y new Array(101).fill(false)); while(queue.length){ [y, x, cnt] = queue.shift(); visited[y][..
2022.02.06 -
문제 번호 : 3190번 문제 바로가기 ☞ https://www.acmicpc.net/problem/3190 const fs = require("fs"); const filePath = process.platform === "linux" ? "/dev/stdin" : "./input.txt"; let input = fs.readFileSync(filePath).toString().trim().split("\n"); const boardLen = Number(input.shift()); // 뱀 = S , 길 = 0 , 사과 = A let board = Array.from(Array(boardLen), () => new Array(boardLen).fill(0)); const appleLen = Numbe..
[BaekJoon] 3190 번 뱀 문제 - (nodejs)문제 번호 : 3190번 문제 바로가기 ☞ https://www.acmicpc.net/problem/3190 const fs = require("fs"); const filePath = process.platform === "linux" ? "/dev/stdin" : "./input.txt"; let input = fs.readFileSync(filePath).toString().trim().split("\n"); const boardLen = Number(input.shift()); // 뱀 = S , 길 = 0 , 사과 = A let board = Array.from(Array(boardLen), () => new Array(boardLen).fill(0)); const appleLen = Numbe..
2022.02.05 -
문제 이름 : 위장 function solution(clothes) { let result =1; let answer = {}; for(let i of clothes){ if(answer[i[1]]) answer[i[1]]++; else answer[i[1]] = 1; } for(let i of Object.values(answer)){ result *= i+1; } return result-1; } * 규칙성을 파악하면 쉬운 문제 였습니다. 저는 규칙을 찾지못해서 각각마다 조합을 해야하나 싶었는데, 각 해당 부위 개수+1를 계속해서 곱해주면 되고, 마지막에 아무것도 입지 않는 경우인 1개를 빼주면 정답이 나옵니다. 도움이 되셨다면 공감 부탁드립니다.
[Programmers] 위장 문제 - (javascript)문제 이름 : 위장 function solution(clothes) { let result =1; let answer = {}; for(let i of clothes){ if(answer[i[1]]) answer[i[1]]++; else answer[i[1]] = 1; } for(let i of Object.values(answer)){ result *= i+1; } return result-1; } * 규칙성을 파악하면 쉬운 문제 였습니다. 저는 규칙을 찾지못해서 각각마다 조합을 해야하나 싶었는데, 각 해당 부위 개수+1를 계속해서 곱해주면 되고, 마지막에 아무것도 입지 않는 경우인 1개를 빼주면 정답이 나옵니다. 도움이 되셨다면 공감 부탁드립니다.
2022.02.05 -
문제 이름 : 배달 function solution(N, road, K) { let bridge = Array.from(Array(N+1), () => new Array(0)); let visited = new Array(N+1).fill(Infinity); visited[1] = 0; road.forEach((el, i)=> { bridge[el[0]].push([el[1], el[2]]); bridge[el[1]].push([el[0], el[2]]); }) // bfs를 이용해 각 정점으로 탐색 // 만약 다음 정점으로 가는 다양한 간선들이 있을텐데 // 얘네가 전부 거쳐오면서 정점까지의 거리가 visited에 저장될텐데 // 이 저장된 값이 내가 방금 탐색하고온 곳 보다 크면 // 작은 값으로 바..
[Programmers] 배달 문제 - (javascript)문제 이름 : 배달 function solution(N, road, K) { let bridge = Array.from(Array(N+1), () => new Array(0)); let visited = new Array(N+1).fill(Infinity); visited[1] = 0; road.forEach((el, i)=> { bridge[el[0]].push([el[1], el[2]]); bridge[el[1]].push([el[0], el[2]]); }) // bfs를 이용해 각 정점으로 탐색 // 만약 다음 정점으로 가는 다양한 간선들이 있을텐데 // 얘네가 전부 거쳐오면서 정점까지의 거리가 visited에 저장될텐데 // 이 저장된 값이 내가 방금 탐색하고온 곳 보다 크면 // 작은 값으로 바..
2022.02.05