프로그래머스
-
문제 이름 : 베스트앨범 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 -
문제 이름 : 아이템 줍기 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 -
문제 이름 : 카펫 function solution(brown, yellow) { var answer = []; let round = (brown-4)/2; // brown = 24 일때 // round = 10 그리고 각 조합 1 9, 2 8, 3 7, 4 6, 5 5 for(let i=1;i
[Programmers] 카펫 문제 - (javascript)문제 이름 : 카펫 function solution(brown, yellow) { var answer = []; let round = (brown-4)/2; // brown = 24 일때 // round = 10 그리고 각 조합 1 9, 2 8, 3 7, 4 6, 5 5 for(let i=1;i
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 -
문제 이름 : [1차] 셔틀버스 function solution(n, t, m, timetable) { let answer = ''; let bustime = []; // 버스 시간을 횟수에 맞춰 분 단위로 저장 for(let i=0; i { let temp = clock.split(':').map(Number); return temp[0]*60+temp[1]; } // 분단위 수를 시계형 수로 변경 const convertClock = (time) => { let Hour = String(Math.floor(time/60)); let Minute = String(time%60); let str = Hour.padStart(2, '0')+':'+Minute.padStart(2, '0'); return s..
[Programmers] [1차] 셔틀버스 문제 - (javascript)문제 이름 : [1차] 셔틀버스 function solution(n, t, m, timetable) { let answer = ''; let bustime = []; // 버스 시간을 횟수에 맞춰 분 단위로 저장 for(let i=0; i { let temp = clock.split(':').map(Number); return temp[0]*60+temp[1]; } // 분단위 수를 시계형 수로 변경 const convertClock = (time) => { let Hour = String(Math.floor(time/60)); let Minute = String(time%60); let str = Hour.padStart(2, '0')+':'+Minute.padStart(2, '0'); return s..
2022.02.03