프로그래머스 C++ 96

[C/C++] programmers Level 3 야근 지수

코드 #include #include // 큐 #include // pow -> 거듭제곱 using namespace std; long long solution(int n, vector works) { long long answer = 0; priority_queue p_q(works.begin(), works.end()); // 내림차순 우선순위 큐 for(int i=0;i0){ // 일의 작업량이 0보다 작을 수는 없다. int num=p_q.top(); p_q.pop(); p_q.push(num-1); // n시간 만큼 한 작업량 빼줌 } } while(!p_q.empty()){ // 야근 피로도는 야근을 시작한 시점에서 남은 일의 작업량을 제곱하여 더한 값 answer=answer+pow(p_q...

[C/C++] programmers Level 1 숫자 짝꿍

코드 #include #include #include // sort() using namespace std; string solution(string X, string Y) { string answer = ""; vector num(10,0); // 0~9 범위로 X, Y 값을 카운트 for(int i=0;i=0;i--){ num[Y[i]-'0']--; // Y[i] 값 -- 연산 if(num[Y[i]-'0']>=0){ answer.push_back(Y[i]); // 0보다 크거나 같을 때 answer값에 추가 } } sort(answer.begin(),answer.end(),std::greater()); // answer string 값 내림차순 정렬 if(answer==""){ // 짝꿍이 존재하지 ..

[C/C++] programmers Level 2 뒤에 있는 큰 수 찾기

코드 #include #include using namespace std; vector solution(vector numbers) { vector answer(numbers.size(),-1); // numbers.size에 값 -1을 채워 넣음 stack num; // 뒤에서 부터 숫자 크기 비교를 위한 스택 for(int i=numbers.size()-1;i>=0;i--){ while(1){ if(num.empty()){ // 뒷 큰수가 존재하지 않는 원소는 -1을 담습니다 break; // -1 값은 이미 채워져 있으므로 반복문만 탈출 }else if(num.top()>numbers[i]){ // 뒷 큰수가 존개할 경우 answer[i]=num.top(); break; }else{ // numbe..

[C/C++] programmers Level 1 [1차] 다트 게임

[1차] 다트 게임 코드 #include #include using namespace std; int solution(string dartResult) { int answer = 0; // 결과값 int numindex=0; // num -> index string result=""; // 다트 점수 및 영역, 옵션 표시 vector num; for(int i=0;i='0' && dartResult[i] 당첨 시 해당 점수와 바로 전에 얻은 점수를 각 2배로 만든다. for(int i=numindex-2;i 당첨 시 해당 점수는 마이너스된다. num[numindex-1]=num[numindex-1]*(-1); // *와 #d은 중첩 가능하므로 *(-1) } } for (auto n : num){ answ..