프로그래머스 : 줄서는방법 JavaScript
문제 설명 n명의 사람이 일렬로 줄을 서고 있습니다. n명의 사람들에게는 각각 1번부터 n번까지 번호가 매겨져 있습니다. n명이 사람을 줄을 서는 방법은 여러가지 방법이 있습니다. 예를 들어서 3명의 사람이 있다면 다음과 같이 6개의 방법이 있습니다. [1, 2, 3] [1, 3, 2] [2, 1, 3] [2, 3, 1] [3, 1, 2] [3, 2, 1] 사람의 수 n과, 자연수 k가 주어질 때, 사람을 나열 하는 방법을 사전 순으로 나열 했을 때, k번째 방법을 return하는 solution 함수를 완성해주세요. 제한사항 n은 20이하의 자연수 입니다. k는 n! 이하의 자연수 입니다. 입출력 예 nkresult 3 5 [3,1,2] 입출력 예시 설명 입출력 예 #1 문제의 예시와 같습니다. 풀이방..
프로그래머스 : N으로 표현 JavaScript
var min = 9; function DFS(N, number, count, result) { if(min count ? count : min; return; } if(count===8) return; let rest = 8 - count; let nn = 0; for(let i=0;i 8) answer = -1; else answer = min; return answer; } N 1개로 만들 수 있는 표현 : N N 2개로 만들 수 있는 표현 : N+N , N/N, NN, N*N, N-N N 3개로 만들 수 있는 표현 : N+N+N, NN/N, NNN, NN*N, NN-N, N-NN 가장 중요한건 연속된 NN이다. DFS로 모든 사칙연산에 대해서 조사한다면 완전탐색가능하다. ( N3회 사용) (사칙연..
백준 : 2632 피자판매
www.acmicpc.net/problem/2632 2632번: 피자판매 첫 번째 줄에는 손님이 구매하고자 하는 피자크기를 나타내는 2,000,000 이하의 자연수가 주어진다. 두 번째 줄에는 A, B 피자의 피자조각의 개수를 나타내 는 정수 m, n 이 차례로 주어진다 (3 ≤ m, n www.acmicpc.net 부분합을 구하는 문제인데 순환된 구간의 부분합을 구하는 문제이다. 단순히 sum에 대한 카운팅하는 문제이지만 원형큐 자료구조로 구하기가 까다로워보인다 이럴때는 배열의 크기를 두배로 늘리자 [1,7,7,2,4]의 배열을 [1,7,7,2,4,1,7,7,2,4] 의 배열로 만든다음 i~j 합을 구하며된다 그때는 초반크기 5의 기준으로 구한다. 주의할점은 i~ i+전체크기 구간의 sum은 모드 같은..