분류 전체보기 (105) 썸네일형 리스트형 [프로그래머스]프린터 편리한 탐색을 위한 인덱스를 지정해주기 위해 pair를 이용해 만든 벡터에 priorities 값을 복사한다. 1. 대기목록 가장 앞의 문서보다 가중치가 큰 값이 있으면 가장 뒤로 보내준다. 1번을 반복하다 가장 앞의 문서보다 가중치가 더 큰 값이 없을 때 가장 앞의 문서를 제거하고 count를 증가시킨다. 이 때 가장 앞의 문서의 인덱스가 location과 같다면 반복문을 종료시키고 값을 반환한다. 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 29 30 31 32 33 34 35 36 #include #include #include using namespace std; int solution(vector prior.. [프로그래머스]주식가격 답의 벡터인 answer의 크기를 prices.size()로 할당해서 값의 분배를 편하게 할 수 있도록 한다. 큐를 사용해서 한 번의 순회로 끝낼 수 있도록 했다. 마지막으로 순회가 끝날 때까지 하락하지 않은 값들은 큐에 여전히 남아있으므로 이를 while문으로 따로 처리했다. 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 29 30 31 32 33 34 35 36 37 #include #include #include #include using namespace std; vector solution(vector prices) { vector answer(prices.size()); queue mQ; for(int j .. [프로그래머스]쇠막대기 '('가 나오면 막대기가 하나씩 쌓인다. '(' 다음에 ')'가 나오면 레이저가 발생하는데 이때 '('의 수 -1만큼(레이저 제외) 쇠막대기의 개수가 추가된다. ')' 가 연속적으로 나오면 쇠막대기의 끝을 의미하므로 +1을 해준다. 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 #include #include using namespace std; int solution(string arrangement) { int answer = 0; int count = 0; for (int i = 0; i 0 && arrangement[i - 1] == '(') { answer += count; } else { answer++; } } } ret.. [프로그래머스]기능개발 이전값이 완료되었을 때 현재값이 check배열이 true이면 카운트를 증가시켜주고 check를 true해준다. 한번 순회한 후에 현재 순차적으로 진행될 수 있도록 예외처리 해준 후 카운트가 0이 아닐 때 값을 푸쉬해준다. #include #include using namespace std; bool check[110] = { 0 }; vector solution(vector progresses, vector speeds) { vector answer; int cur = 0, count = 0; while (cur 0 && check[i - 1]))) { check[i] = true; count++; } } if(!check[cur]) { continue; } cur++; if(!count) { conti.. [프로그래머스]스킬트리 check배열과 pos를 이용해 이전값과 비교함으로써 순서대로 진행되는지 체크했다. #include #include using namespace std; int check[30] = { 0 }; int solution(string skill, vector skill_trees) { int answer = 0; for(int i = 0; i [프로그래머스]탑 #include #include using namespace std; vector solution(vector heights) { vector answer; int cur = 0; vector val; for(int i = heights.size() - 1; i >= 0; i--) { cur = i - 1; while(cur > -1 && heights[i] >= heights[cur]) { cur--; } val.push_back(cur + 1); } for(int i = val.size() - 1; i >= 0; i--) { answer.push_back(val[i]); } return answer; } Colored by Color Scripter cs [프로그래머스][1차] 다트 게임 간단한 구현 문제 #include using namespace std; int solution(string dartResult) { int answer = 0; int val[3] = { 0 }; int pos = 0, count = -1, mul; while(pos [프로그래머스]실패율 실패율 계산해서 store 벡터에 넣어주는데 이때 count 또는 size가 0일 때 예외처리를 해줘야한다. 값을 모두 구한 후 역순으로 정렬하고, answer 벡터에 답을 넣어준다. 이 때 반복문을 순회하면서 같은 확률이 있다면 오름차순으로 정렬해준다. #include #include #include using namespace std; vector solution(int N, vector stages) { vector answer; vector store; int size = stages.size(); for(int i = 0; i 이전 1 ··· 5 6 7 8 9 10 11 ··· 14 다음