프론트 개발자를 위한 여정

모든 영역을 안내하는 개발자

2024/11/24 2

[프로그래머스] 연습문제 / 마법의 엘리베이터 / Lv2 / JS / 접근법

문제 설명마법의 세계에 사는 민수는 아주 높은 탑에 살고 있습니다.탑이 너무 높아서 걸어 다니기 힘든 민수는 마법의 엘리베이터를 만들었습니다. 마법의 엘리베이터의 버튼은 특별합니다. 마법의 엘리베이터에는 -1, +1, -10, +10, -100, +100 등과 같이 절댓값이 10c (c ≥ 0 인 정수) 형태인 정수들이 적힌 버튼이 있습니다. 마법의 엘리베이터의 버튼을 누르면 현재 층 수에 버튼에 적혀 있는 값을 더한 층으로 이동하게 됩니다. 단, 엘리베이터가 위치해 있는 층과 버튼의 값을 더한 결과가 0보다 작으면 엘리베이터는 움직이지 않습니다. 민수의 세계에서는 0층이 가장 아래층이며 엘리베이터는 현재 민수가 있는 층에 있습니다.마법의 엘리베이터를 움직이기 위해서 버튼 한 번당 마법의 돌 한 개를 사..

[알고리즘] 순열과 백트래킹 비교(permutation, backtracking) / 부분 수율 / 전체 순열

permutation: 크기가 제한된 부분 순열을 구하는 함수.backtrack: 전체 원소를 포함하는 순열을 구하는 함수.동작의 범위 차이:permutation: 고정된 크기의 조합만 포함.backtrack: 배열의 모든 순열을 포함.사용 상황:permutation: 특정 크기의 부분 조합을 구해야 할 때 사용.backtrack: 전체 순열을 구하거나 탐색이 필요한 경우 사용.비교표함수시간복잡도공간복잡도목적permutationO(n²)O(n²)크기가 제한된 순열 (예: 2개)backtrackO(n * n!)O(n * n!)전체 순열 (길이 n)  순열 생성 범위:permutation은 특정 크기의 순열(여기서는 2개)을 제한적으로 생성하기 때문에, 시간복잡도와 공간복잡도가 비교적 낮습니다.backtra..

Algorithm 2024.11.24