순열
-
프로그래머스 피로도 C++프로그래머스(Programmers) 2022. 5. 24. 23:25
입출력 예 k dungeons result 80 [[80,20],[50,40],[30,10]] 3 => 처음에는 DFS 혹은 BFS로 풀어야 하는 문제라고 생각했습니다. => 하지만 제한사항을 보면, dungeons의 길이는 최대 8개입니다. => 완전탐색을 해도 되는 조건이므로 완전 탐색을 시행하였습니다. => 헤더에 포함되어있는 next_permutation함수를 이용하였습니다. https://codingham.tistory.com/262 순열과 조합의 차이 순열 순서가 있는 조합 (중복 허용X) => 순서가 있으므로, 중복을 허용하지 않습니다. ex) A B C 가 있을 때 이 세명을 세울 수 있는 방법의 개수를 구하시오. => (A B C) (A C B) (B A C) (B C A) (C A B)..
-
메뉴 리뉴얼 C++프로그래머스(Programmers) 2022. 1. 9. 22:17
가장 많이 함께 주문된 단품 메뉴 조합에 따라 "스카피"가 만들게 될 코스요리 메뉴 구성 후보는 다음과 같습니다. 코스 종류 메뉴 구성 설명 요리 2개 코스 A, C 1번, 2번, 4번, 6번 손님으로부터 총 4번 주문됐습니다. 요리 3개 코스 C, D, E 3번, 4번, 6번 손님으로부터 총 3번 주문됐습니다. 요리 4개 코스 B, C, F, G 1번, 5번 손님으로부터 총 2번 주문됐습니다. 요리 4개 코스 A, C, D, E 4번, 6번 손님으로부터 총 2번 주문됐습니다. [문제] 각 손님들이 주문한 단품 메뉴들이 문자열 형식으로 담긴 배열 orders, "스카피"가 추가하고 싶어 하는코스요리를 구성하는 단품 메뉴들의 개수가 담긴 배열 course가 매개변수로 주어질 때, "스카피"가 새로 추가하게..
-
순열과 조합의 차이유용한 정보 2021. 12. 16. 00:12
순열 순서가 있는 조합 (중복 허용X) => 순서가 있으므로, 중복을 허용하지 않습니다. ex) A B C 가 있을 때 이 세명을 세울 수 있는 방법의 개수를 구하시오. => (A B C) (A C B) (B A C) (B C A) (C A B) (C B A) => n * (n-1) * (n-2) ....*1 => nCp => 3* 2* 1 int main() { string example ="1234"; do{ cout 위와 같이 설정을 하고 문제를 풀었습니다. 입력받은 pair형 vector를 sort함수를 하여 정렬시킵니다... codingham.tistory.com => 백준에는 간단한 수열 문제가 있습니다. 보시는 블로그에서 수열 혹은 순열을 검색하여 해당 문제들 풀이를 확인할 수 있습니다.
-
단체사진 찍기 C++프로그래머스(Programmers) 2021. 12. 15. 00:37
예제 입출력 n data answer 2 ["N~F=0", "R~T>2"] 3648 2 ["M~C1"] 0 예제에 대한 설명 첫 번째 예제는 문제에 설명된 바와 같이, 네오는 프로도와의 간격이 0이기를 원하고 라이언은 튜브와의 간격이 2보다 크기를 원하는 상황이다. 두 번째 예제는 무지가 콘과의 간격이 2보다 작기를 원하고, 반대로 콘은 무지와의 간격이 1보다 크기를 원하는 상황이다. 이는 동시에 만족할 수 없는 조건이므로 경우의 수는 0이다. #include #include #include #include using namespace std; // 전역 변수를 정의할 경우 함수 내에 초기화 코드를 꼭 작성해주세요. int solution(int n, vector data) { int answer = 0..
-
백준 1015 - 수열 정렬백준 algorithm 2020. 7. 15. 23:43
=> pair를 사용하여 문제를 해결하였습니다. => pair.first : 원소 값 => pair.secodn : 원래의 INDEX 값 => 위와 같이 설정을 하고 문제를 풀었습니다. 입력받은 pair형 vector를 sort함수를 하여 정렬시킵니다. 정렬된 배열을 처음부터 읽으며, second 값을 기준으로 새로운 배열의 INDEX에 값을 대입합니다. ans [arr [i]. second]=i; 위와 같은 논리로 코드를 짰습니다. *pair형 배열을 만드는 방법을 찾지 못해, pair형 vector로 답을 생성하였습니다. #include #include #include using namespace std; int main() { ios_base::sync_with_stdio(false); cin.ti..