n개의 수 중에서 x개를 뽑아 더해서 만들 수 있는 수 중에서 가장 큰 수를 찾기. 1) 재귀 //조합 n개의 수 중에서 x개를 뽑아 더해서 만들 수 있는 수 중에서 가장 큰 수를 찾기. let nums=[1,2,3,4]; let x = 2 ; let n = nums.length; function solve(pos, cnt, val){ if(cnt==x) return val; if(pos==n) return -1; let max = 0; let temp; temp = solve(pos+1,cnt+1, val+nums[pos]); if(temp>max) max = temp; temp = solve(pos+1,cnt, val); if(temp>max) max = temp; return max; } answe..
완전 탐색 문제? 같은 거를 풀 때, 우선 주어진 자료를 이용해서 부분집합을 만들어야하는 경우가 있다. 부분집합의 개수 : 원소의 개수가 n인 집합의 부분집합의 개수는 2^n, 2의 n승이다. 첫번째 방법 (for문을 중첩) 위 식을 보면 결국 어떤 원소가 포함되는가? 포함되지 않는가? 에 대한 경우를 따지는 것이다. 그래서 그걸 이용해서 포함된다면 bit를 1로, 포함되지 않는다면 bit를 0으로 나타낸 다음에 나중에 그 bit를 해석해서 부분집합을 나타내봤다. //부분집합만들기. //Loop를 이용한 부분집합 생성. let arr = ['1', '2', '3', '4']; let bitArray = []; //첫번째 원소가 부분집합에 포합되면 bit는 1, 아니면 0 for (let i = 0; i ..
출처: programmers.co.kr/learn/courses/30/lessons/42885 코딩테스트 연습 - 구명보트 무인도에 갇힌 사람들을 구명보트를 이용하여 구출하려고 합니다. 구명보트는 작아서 한 번에 최대 2명씩 밖에 탈 수 없고, 무게 제한도 있습니다. 예를 들어, 사람들의 몸무게가 [70kg, 50kg, 80kg, 5 programmers.co.kr 문제 설명 무인도에 갇힌 사람들을 구명보트를 이용하여 구출하려고 합니다. 구명보트는 작아서 한 번에 최대 2명씩 밖에 탈 수 없고, 무게 제한도 있습니다. 예를 들어, 사람들의 몸무게가 [70kg, 50kg, 80kg, 50kg]이고 구명보트의 무게 제한이 100kg이라면 2번째 사람과 4번째 사람은 같이 탈 수 있지만 1번째 사람과 3번째 ..
출처: https://programmers.co.kr/learn/courses/30/lessons/42840 코딩테스트 연습 - 모의고사 수포자는 수학을 포기한 사람의 준말입니다. 수포자 삼인방은 모의고사에 수학 문제를 전부 찍으려 합니다. 수포자는 1번 문제부터 마지막 문제까지 다음과 같이 찍습니다. 1번 수포자가 찍는 programmers.co.kr 문제 설명 수포자는 수학을 포기한 사람의 준말입니다. 수포자 삼인방은 모의고사에 수학 문제를 전부 찍으려 합니다. 수포자는 1번 문제부터 마지막 문제까지 다음과 같이 찍습니다. 1번 수포자가 찍는 방식: 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, ... 2번 수포자가 찍는 방식: 2, 1, 2, 3, 2, 4, 2, 5, 2, 1, 2, 3, ..
출처: https://programmers.co.kr/learn/courses/30/lessons/42748 문제 설명 배열 array의 i번째 숫자부터 j번째 숫자까지 자르고 정렬했을 때, k번째에 있는 수를 구하려 합니다. 예를 들어 array가 [1, 5, 2, 6, 3, 7, 4], i = 2, j = 5, k = 3이라면 array의 2번째부터 5번째까지 자르면 [5, 2, 6, 3]입니다. 1에서 나온 배열을 정렬하면 [2, 3, 5, 6]입니다. 2에서 나온 배열의 3번째 숫자는 5입니다. 배열 array, [i, j, k]를 원소로 가진 2차원 배열 commands가 매개변수로 주어질 때, commands의 모든 원소에 대해 앞서 설명한 연산을 적용했을 때 나온 결과를 배열에 담아 retu..
출처: https://programmers.co.kr/learn/courses/30/lessons/12899 문제 설명 124 나라가 있습니다. 124 나라에서는 10진법이 아닌 다음과 같은 자신들만의 규칙으로 수를 표현합니다. 124 나라에는 자연수만 존재합니다. 124 나라에는 모든 수를 표현할 때 1, 2, 4만 사용합니다. 예를 들어서 124 나라에서 사용하는 숫자는 다음과 같이 변환됩니다. 10진법 124 나라 10진법 124 나라 1 1 6 14 2 2 7 21 3 4 8 22 4 11 9 24 5 12 10 41 자연수 n이 매개변수로 주어질 때, n을 124 나라에서 사용하는 숫자로 바꾼 값을 return 하도록 solution 함수를 완성해 주세요. 제한사항 n은 500,000,000이하..
문제 설명 피보나치 수는 F(0) = 0, F(1) = 1일 때, 1 이상의 n에 대하여 F(n) = F(n-1) + F(n-2) 가 적용되는 수 입니다. 예를들어 F(2) = F(0) + F(1) = 0 + 1 = 1 F(3) = F(1) + F(2) = 1 + 1 = 2 F(4) = F(2) + F(3) = 1 + 2 = 3 F(5) = F(3) + F(4) = 2 + 3 = 5 와 같이 이어집니다. 2 이상의 n이 입력되었을 때, n번째 피보나치 수를 1234567으로 나눈 나머지를 리턴하는 함수, solution을 완성해 주세요. 제한 사항 * n은 1이상, 100000이하인 자연수입니다. 입출력 예 n return 3 2 5 5 입출력 예 설명 피보나치수는 0번째부터 0, 1, 1, 2, 3, ..
- Total
- Today
- Yesterday
- 개발자면접
- 다이나밍프로그래밍
- DB 생성
- 그래프
- 면접질문
- MySQL
- node.js
- 다이나믹프로그래밍
- create databases;
- create db
- 서버개발
- 은둔청년체험
- 동적프로그래밍
- 투포인터 연습
- 롱베케이션
- BFS
- 서버점검
- 최소공통조상
- 면접비
- 로드나인
- 투포인터
- MOD
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |