C++
-
프로그래머스 2016년 C++프로그래머스(Programmers) 2022. 2. 4. 16:25
=> 단순구현 문제입니다. => 풀이는 아래의 그림을 참조해주시기 바랍니다. #include #include using namespace std; vector seven_day = {"FRI","SAT","SUN","MON","TUE","WED","THU"}; vector arr ={0,31,29,31,30,31,30,31,31,30,31,30,31}; string solution(int a, int b) { string answer = ""; int day=0; for(int i=1; i
-
프로그래머스 이중순위우선큐 C++프로그래머스(Programmers) 2022. 1. 26. 23:02
입출력 예 operations return ["I 16","D 1"] [0,0] ["I 7","I 5","I -5","D -1"] [7,5] 입출력 예 설명 16을 삽입 후 최댓값을 삭제합니다. 비어있으므로 [0,0]을 반환합니다. 7,5,-5를 삽입 후 최솟값을 삭제합니다. 최댓값 7, 최솟값 5를 반환합니다. #include #include #include #include #include using namespace std; vector solution(vector operations) { vector answer; vector doublePq; for(string s : operations) { string sPart = s.substr(2); int tmp = stoi(sPart); if(s[0]..
-
프로그래머스 행렬 테두리 회전하기 C++프로그래머스(Programmers) 2022. 1. 21. 20:27
제한사항 rows는 2 이상 100 이하인 자연수입니다. columns는 2 이상 100 이하인 자연수입니다. 처음에 행렬에는 가로 방향으로 숫자가 1부터 하나씩 증가하면서 적혀있습니다. 즉, 아무 회전도 하지 않았을 때, i 행 j 열에 있는 숫자는 ((i-1) x columns + j)입니다. queries의 행의 개수(회전의 개수)는 1 이상 10,000 이하입니다. queries의 각 행은 4개의 정수 [x1, y1, x2, y2]입니다. x1 행 y1 열부터 x2 행 y2 열까지 영역의 테두리를 시계방향으로 회전한다는 뜻입니다. 1 ≤ x1 < x2 ≤ rows, 1 ≤ y1 < y2 ≤ columns입니다. 모든 회전은 순서대로 이루어집니다. 예를 들어, 두 번째 회전에 대한 답은 첫 번째 회..
-
신고 결과 받기 C++프로그래머스(Programmers) 2022. 1. 17. 21:37
#include #include #include #include #include using namespace std; vector solution(vector id_list, vector report, int k) { vector answer(id_list.size()); map reportMap; //key : 신고한 사람, value : key값에게 신고당한 아이들 map reportCnt; // 신고당한 사람, 횟수 for (string s: report) { string tmp;//key와 value 들어갈 string string reporter; for(char ch : s) { if(ch == ' ') { reporter=tmp; tmp=""; continue; } tmp += ch; } i..
-
프로그래머스 H-Index C++프로그래머스(Programmers) 2022. 1. 12. 23:58
#include #include #include using namespace std; int solution(vector citations) { int answer = 0; sort(citations.begin(), citations.end(), greater()); if(citations[0]==0)return answer; for(int i=0; i i)answer++; } return answer; } => 아래 사진을 보며 이해할 수 있습니다. => 우선 내림차순으로 정렬하여 비교가 편하게 합니다. => 각 배열에 있는 값보다(h번이상 인용된 논문)보다 더 많이 인용된 논문들의 갯수가 더 많아야합니다. => 그럴 경우 h의 값이 늘어나게 됩니다. => 규칙을 찾아야 풀 수 있는 문제였습니다.
-
괄호변환 C++프로그래머스(Programmers) 2022. 1. 11. 23:00
"균형 잡힌 괄호 문자열" p가 매개변수로 주어질 때, 주어진 알고리즘을 수행해 "올바른 괄호 문자열"로 변환한 결과를 return 하도록 solution 함수를 완성해 주세요. 매개변수 설명 p는 '(' 와 ')' 로만 이루어진 문자열이며 길이는 2 이상 1,000 이하인 짝수입니다. 문자열 p를 이루는 '('와 ')'의 개수는 항상 같습니다. 만약 p가 이미 "올바른 괄호 문자열"이라면 그대로 return 하면 됩니다. 입출력 예 p result "(()())()" "(()())()" ")(" "()" "()))((()" "()(())()" 입출력 예에 대한 설명 입출력 예 #1 이미 "올바른 괄호 문자열" 입니다. 입출력 예 #2 두 문자열 u, v로 분리합니다. u = ")(" v = "" u가 ..
-
약수의 개수와 덧셈프로그래머스(Programmers) 2022. 1. 11. 00:00
한사항 1 ≤ left ≤ right ≤ 1,000 입출력 예 left right result 13 17 43 24 27 52 입출력 예 설명 입출력 예 #1 다음 표는 13부터 17까지의 수들의 약수를 모두 나타낸 것입니다. 수 약수 약수의 개수 13 1, 13 2 14 1, 2, 7, 14 4 15 1, 3, 5, 15 4 16 1, 2, 4, 8, 16 5 17 1, 17 2 따라서, 13 + 14 + 15 - 16 + 17 = 43을 return 해야 합니다. 입출력 예 #2 다음 표는 24부터 27까지의 수들의 약수를 모두 나타낸 것입니다. 수약수약수의 개수 24 1, 2, 3, 4, 6, 8, 12, 24 8 25 1, 5, 25 3 26 1, 2, 13, 26 4 27 1, 3, 9, 27 ..
-
폰켓몬 C++프로그래머스(Programmers) 2022. 1. 10. 23:23
제한사항 nums는 폰켓몬의 종류 번호가 담긴 1차원 배열입니다. nums의 길이(N)는 1 이상 10,000 이하의 자연수이며, 항상 짝수로 주어집니다. 폰켓몬의 종류 번호는 1 이상 200,000 이하의 자연수로 나타냅니다. 가장 많은 종류의 폰켓몬을 선택하는 방법이 여러 가지인 경우에도, 선택할 수 있는 폰켓몬 종류 개수의 최댓값 하나만 return 하면 됩니다. 입출력 예 nums result [3,1,2,3] 2 [3,3,3,2,2,4] 3 [3,3,3,2,2,2] 2 입출력 예 설명 입출력 예 #1 문제의 예시와 같습니다. 입출력 예 #2 6마리의 폰켓몬이 있으므로, 3마리의 폰켓몬을 골라야 합니다. 가장 많은 종류의 폰켓몬을 고르기 위해서는 3번 폰켓몬 한 마리, 2번 폰켓몬 한 마리, 4번..