문제 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 풀이이번 문제는 원형 탐색과 순열을 이용해 풀이를 진행했다. 중요한 것은 로직의 구성인거 같다.몇 명을 선택할 것인가?정해진 인원을 누구로 채울것인가?어디 부터 시작할 것인가?각 인원이 어디까지 커버할 수 있는가?위의 네 가지 로직을 구현한다면 문제없이 문제 풀이가 가능할 것이다.코드function solution(n, weak, dist) { const getPermutation = (arr, n) => { if (n === 1) return arr.map((e) => [e]); let res = []; for (let i = 0;..
프로그래머스
문제 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 풀이이번 문제는 초반에 접근접을 잘 찾은것같다.첫 풀이에서는 DFS를 이용해 B가 최대로 많은량의 물건을 가져가 A가 최소의 값을 갖도록 했다.하지만, 방문 여부를 기록하는 과정에서 문제가 있었고, 이전의 코드에서는 시간 초과가 발생했다. 그래서 A와 B의 점수?를 DFS 함수에 전달하여 함수 내부에서 Set 자료형에 현재의 인덱스와 각각의 점수를 기록했다.이는 해당 물건의 인덱스에서 A가 가져간 경우와 B가 가져간 경우를 따로 계산해야 하기 때문이다. 코드function solution(info, n, m) { let answer = Infinit..

문제 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 풀이이 문제의 키 포인트는 두가지로 생각한다. 첫 번째, 외각에 있는 요소 체크 후 제거. 이는 테두리에 있는 요소를 확인하는 것은 이 요소가 지게차로 제거할 수 있는지 확인하는 것이다. 나는 -1이라는 값을 이용해 BFS 알고리즘으로 4 방향으로 확인하며 탐색을 진행했다. 두 번째, 제거된 블럭으로 인해 태두리에 위치하게 되는 요소의 계산이다. 예를 들어보자.위의 사진과 같이 물건들이 있다고 가정하자. 명령어는 ["BB", "A"]가 주어졌을때, "BB" 명령어가 먼저 시행되며 해당 물건들에서 B 요소들은 모두 테두리와 상관없이 모두 제거된다. 제거..
문제https://school.programmers.co.kr/learn/courses/30/lessons/389479 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 코드function solution(players, m, k) { let answer = 0; let max = m - 1; let que = []; for (let i = 0; i
문제https://school.programmers.co.kr/learn/courses/30/lessons/150365 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 풀이이 문제의 경우 2차원 배열을 이용해 한정된 횟수 안에 특정 지점까지의 도착 여부를 측정하는 문제이다. 이번 문제는 비슷한 유형의 문제들에서 추가된 조건들이 존재한다.한정된 이동 회수최단 이동문자 기준 사전순 빠른 탈출 명령어1 번의 경우는 문제에서 주어지는 k 값을 이용해 탐색 회수를 한정할 수 있다.2 번과 3 번의 경우는 문자 기준으로 이동 방향의 정렬(down, left, right, up 순서)을 이용해 탐색 방향의 우선순위를..
문제https://school.programmers.co.kr/learn/courses/30/lessons/60061 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 풀이해당 문제는 각 기둥과 보의 설치/삭제에 대한 조건이 까다로운 문제이다. 나머지는 그닥 어려운 문제는 아니다. 우선 기둥의 설치부터 살펴보자.문제에서 기둥이 설치될 수 있는 조건을 아래와 같이 정의했다.기둥은 y가 0인 바닥일 때다른 기둥의 위일때보의 양끝(왼쪽 오른쪽)일때그렇다면 4가지 이외의 설치는 안된다는 것이다. 이를 이용해 기둥를 설치할 수 있는지 판별하는 함수를 만들어 주자. 그리고 보의 설치에 대한 조건을 알아보자.문제에서 ..