728x90 반응형 알고리즘16 [프로그래머스/JS] Lv2. 배달 문제 링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 조건 a와 b를 잇는 도로가 여러 개 있을 수 있다. 문제 풀이 1. 노드별 거리를 무한으로 하는 배열 생성(1부터 사용하기 위해 N+1의 배열 생성) 2. 인접한 노드별 가중치의 정보를 담고 있는 배열 생성 3. 인접한 노드별 가중치의 정보를 담고 있는 배열에 데이터 추가 4. 1번 마을에서부터 우선순위 큐 시작 및 초기값 0 할당 5. 우선순위 큐 배열에 값이 없을 때까지 반복 6. 연결된 노드에서의 값이 현재의 값 + 해당 노드의 가중치보다 클 경우, 값을 대체하고 우선순위 큐에 데이터 추가 .. 2023. 3. 31. [프로그래머스] Lv2. 행렬의 곱셈 문제 링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 조건 곱할 수 있는 배열만 주어진다. 정답 코드 행렬의 곱셈에 대해 알고 있어야 한다. 나는 몰라서 찾아봤다. 나의 코드 function solution(arr1, arr2) { let arr = new Array(arr1.length).fill(0); let answer = arr.map((el) => (el = new Array(arr1[0].length).fill(0))); for (let i = 0; i < arr1.length; i++) { for (let j = 0; j < arr1[i].. 2023. 3. 29. [프로그래머스] Lv2. 땅따먹기 다시 풀어도 모르겠고, 답을 봐도 모르겠다!!! 그래서 기록하기,, 문제 링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 조건 땅은 총 N행 4열이다. 한 행씩 내려올 때 같은 열은 연속해서 밟을 수 없다. 정답 코드 function solution(land) { let answer = 0; for (let i = 1; i < land.length; i++) { for (let j = 0; j < 4; j++) { // 얕은 복사본(원본 배열 수정 X) let arr = land[i - 1].slice(); // 그 전 열의 값을 가장 낮은값으로 설정.. 2023. 3. 28. [프로그래머스] Lv2. 구명보트 다시 풀어도 접근법을 모르겠어서 기록한다. 문제 링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 조건 최대 2명을 보트에 태울 수 있다. 무게 제한이 있다.(limit) 정답 코드 function solution(people, limit) { // 내림차순 정렬(작은 => 큰) people.sort((a, b) => a - b); let i = 0; for (j = people.length - 1; i < j; j--) { if (people[i] + people[j] 2023. 3. 22. [프로그래머스] Lv2. 기능개발 문제 링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 조건 진도가 100%이상 일 때 서비스에 반영할 수 있다. 뒤에 있는 기능은 앞에 있는 기능이 배포될 때 함께 배포된다. 나의 정답 코드 function solution(progresses, speeds) { // 각 배포마다 몇 개의 기능이 배포되는지 let answer = []; let days = []; let memo = 1; for (let i = 0; i < progresses.length; i++) { let day = Math.ceil((100 - progresses[i]) / spe.. 2023. 3. 21. 이전 1 2 3 4 다음 728x90 반응형