본문 바로가기

Algorithm350

[BOJ]15664번: N과 M (10)(c++) https://www.acmicpc.net/problem/15664 15664번: N과 M (10) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해야 한다. www.acmicpc.net #include #include using namespace std; const int MAX = 8; int numbers[MAX]; int output[MAX]; int cnt[MAX]; void dfs(int N, int M, int depth, int start) { if (depth == M) { for (int i = 0; i < M; ++i) { cout 0) { --cn.. 2020. 5. 9.
[BOJ]15663번: N과 M(9)(c++) https://www.acmicpc.net/problem/15663 15663번: N과 M (9) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해 www.acmicpc.net 방법 1: 각 숫자의 개수를 저장한 배열 / 중복 제거한 숫자열 만들기 #include #include using namespace std; const int MAX = 8; int numbers[MAX]; int output[MAX]; int cnt[MAX]; void dfs(int N, int M, int depth) { if (depth == M) { for (int i = 0; i < M.. 2020. 5. 9.
[프로그래머스]해시 : 전화번호 목록 (level 2) (c++) https://programmers.co.kr/learn/courses/30/lessons/42577 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 방법 1: 정렬 후 앞/뒤 문자열을 비교 #include #include #include using namespace std; bool solution(vector phone_book) { int len = phone_book.size(); // 사전순 오름차순 정렬 sort(phone_book.begin(), phone_book.end()); // 앞 번호 전체와 뒷번호 일부분 비교 for (int i = .. 2020. 5. 8.
[프로그래머스]탐욕법(Greedy) : 구명보트(level 2) (c++) https://programmers.co.kr/learn/courses/30/lessons/42885 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 참고한 블로그 : https://moonsupport.tistory.com/240 #include #include using namespace std; int solution(vector people, int limit) { // 오름차순 정렬 sort(people.begin(), people.end()); // 가장 작은 값과 가장 큰 값부터 계산 int low = 0; int high = people.si.. 2020. 5. 8.