문제 링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 유형 DFS/ BFS 문제 풀이 해당 문제는 상대 팀 진영에 도착하기 위해 지나가야 하는 칸의 최소 개수 즉, 최단 거리를 구하는 문제이다. 최단 거리를 구할 때는 DFS 보다 BFS가 유리하다. DFS는 도착점으로 가기 위한 모든 경로를 탐색해야 하지만 BFS는 타겟에 도착한 순간 종료할 수 있기 때문이다. 큐에는 출발점과 칸의 최소 개수를 넣는다. 큐에서 요소를 하나씩 꺼내고 현재 지점이 상대 팀 진영인 매트릭스의 가장 오른쪽 아래라면 칸의 개수를 리턴한다. 그렇지 않으면 현재 지점의 아래..
문제 링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 유형 조합 (Lv.2) 문제 풀이 orders course result ["ABCFG", "AC", "CDE", "ACDE", "BCFG", "ACDEH"] [2, 3, 4] ["AC", "ACDE", "BCFG", "CDE"] ["XYZ", "XWY", "WXA"] [2,3,4] ["WX", "XY"] 이 문제는 다음과 같은 방식으로 접근했다. 각 손님들이 주문한 단품메뉴 조합에서 코스요리를 구성할 단품메뉴의 수만큼 뽑아서 만든 조합을 만든다. 각 코스요리 후보 조합을 정렬한다. 테스트 케이..
문제 링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 유형 정렬 (Lv.1) 문제 풀이 sort 메소드 파라미터로 compareFunction을 삽입해 정렬 순서를 정의했다. compareFunction (a, b가 비교되는 두 요소일때) compareFunction(a, b)의 반환값 0: b의 인덱스가 a의 인덱스보다 작도록 정렬한다. 문제에서 인덱스 n의 문자가 같을 경우에는 사전..
문제 링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 유형 재귀 (Lv.2) 문제 풀이 자연수 N이 있을 때, N에서 2의 제곱인 수 중에서 N보다 작거나 같은 가장 큰 수를 뺀다. 이때, 2의 제곱의 지수에 해당하는 자리는 1이 된다. 재귀적으로 getBinaryLength 함수를 호출하여 2진수를 구하고, 2진수 중 1의 개수를 리턴한다. 자연수 N+1부터 반복하여 N의 2진수의 1의 개수와 같은 자연수를 찾는다. 코드 function solution(n) { // n의 최대 지수가 최대 인덱스 번호인 배열을 만든다. let arr = new..