C++ 363

[C/C++] programmers Level 1 실패율

실패율 코드 #include #include // #include // pair의 헤더파일 //Pair 클래스는 사용자가 지정한 2개의 타입의 데이터를 저장하는데 사용합니다. 서로 연관된 2개의 데이터를 한 쌍으로 묶어서 다룰 때 사용하면 편리합니다. #include // 해시 #include // sort() using namespace std; bool compare(pair a, pair b){ if(a.first==b.first){ // 실패율이 같은 상황 return a.second 오름차순 정렬 b.first; // 실패율 기준 내림차순 정렬 > } } vector solution(int N, vector stages) { vector answer; ..

[C/C++] programmers Level 3 최고의 집합

코드 #include using namespace std; vector solution(int n, int s) { if(n>s){ // 자연수 n개를 가지고는 합이 s인 집합을 만들 수 없는 경우 return {-1}; } // 곱이 최대한인 집합을 만드는 문제 이기 때문에 집합의 요소들이 균등해야 합니다. vector answer(n,s/n); // s/n을 통해 균등하데 값을 넣음 int num=s%n; // 나머지값 for(int i=n-1;num>0;i--){ // 값은 오른차순 정렬이기에 뒤에서부터 나머지 값을 더해주며 균등하게 만듬 answer[i]++; num--; } return answer; }

[C/C++] programmers Level 1 로또의 최고 순위와 최저 순위

코드 #include using namespace std; int ranking(int count) { // 일치하는 번호 개수 별 순위 배정 switch (count) { case 6: return 1; case 5: return 2; case 4: return 3; case 3: return 4; case 2: return 5; default: return 6; } } vector solution(vector lottos, vector win_nums) { vector answer; vector num(46,0); // 0 ~ 46 범위 0으로 채움 int count=0; for(int i=0;i i번째 번호 값 증가 num[win_nums[i]]++; // win_nums -> i번째 번호 값 증가..

[C/C++] programmers Level 3 이중우선순위큐

코드 #include #include #include // 큐 #include using namespace std; vector solution(vector operations) { vector answer; priority_queue p_q1; // 내림차순 우선순위 큐 priority_queue p_q2; // 오름차순 우선순위 큐 char command; int num; int size=0; // 전체 큐 크기 for(int i=0;i>command; // 명령어 ss>>num; // 숫자 if(command=='I'){ p_q1.push(num); // 최댓값 기준 p_q2.push(num); // 최솟값 기준 size++; }else{ if(num==1 && size>0){ // D 1 -> 큐..

[C/C++] programmers Level 2 프로세스

코드 #include #include using namespace std; struct list_int{ // 구조체 int p; // priorities 값 int index; // priorities 인덱스 }; int solution(vector priorities, int location) { int answer = 0; // 해당 프로세스가 몇 번째로 실행되는지 체크 queue q; priority_queue p_q; // 우선순위 큐를 사용한다면 큐에 있는 모든 원소 중에서 가장 큰 값이 Top을 유지하도록, 우선순위가 가장 크도록 설계되어 있다 for(int i=0;i

[C/C++] programmers Level 2 스킬트리

코드 #include #include using namespace std; int solution(string skill, vector skill_trees) { int answer = 0; // 가능한 스킬트리 개수 for(auto s : skill_trees){ bool check=true; // 가능한 경우 표시 string skillcheck=""; // skill 순서를 skill_trees에서 찾아 비교 for(auto t : s){ if(skill.find(t)!=string :: npos){ // 찾고자 하는 skill이 있는 경우 skillcheck=skillcheck+t; } } for(int i=0;i