Problem Solving/프로그래머스 (42) 썸네일형 리스트형 [프로그래머스/C++] 하샤드 수 #include #include using namespace std; bool solution(int x) { int answer = 0; int num = x; while(num > 0) { answer += num % 10; num /= 10; } return x % answer == 0 ? true : false; } 하샤드 수는 모든 자리수의 합을 의미하는데 ex) 210이 하샤드 수인가 확인한다면 2+1+0의 값인 3으로 210이 나누어 떨어진다면 하샤드 수입니다. 처음에 모든 자리수의 합으로 나누는 것이 아닌 자리수들이 10보다 작도록 더하는 것으로 이해하여 리트코드 Add Digits 문제와 같다고 생각했습니다. 그래서 %9 를 하여 while loop 없이 문제를 풀어내려고 했으나 모든 자.. [프로그래머스/C++] K번째수 #include #include #include using namespace std; vector solution(vector array, vector commands) { vector answer; vector temp; int size = commands.size(); int te1, te2, te3; for (int i = 0; i < size; ++i) { te1 = commands[i][0] -1; te2 = commands[i][1]; te3 = commands[i][2] -1; answer.assign(array.begin() + te1, array.begin() + te2); sort(answer.begin(), answer.end()); temp.push_back(answer[te3]);.. [프로그래머스/C++] 2016년 #include #include using namespace std; string solution(int a, int b) { string answer = ""; int c = 0; --a; if(a != 0) { if(a == 1) { b+= 31; }else if((a % 2 == 1 && a 7)) { a /= 2; c = a + 1; if(a >= 4) { --a;} b += c * 31 + a * 30 - 1; } else { a /= 2; c = a; if(c >= 4) ++c; b += c * 31 + a * 30 - 1; } } b = b % 7; switch (b) { case 1: answer = "FRI";break; case 2: an.. 크레인 인형뽑기 #include #include using namespace std; int solution(vector board, vector moves) { vector ans; int answer = 0; int mv =0; int j=0; int k = 0; for (int i = 0; i 구명보트 #include using namespace std; int solution(vector people, int limit) { int answer = 0, index = 0; sort(people.begin(), people.end()); int size = people.size(); while(!people.empty() && index 실패율 #include 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) { sort(stages.begin(), stages.end(), greater()); int count_top, count_bottom; double p = 0; vector arr; vector answer; for(int i = 1; i = 0; j--) { if(stages[j] == i) count_top++; if(stages[j] >= i) count_bottom++; } count_bottom != 0 ? p = (doubl.. 문자열 다루기 기본 #include #include #include using namespace std; bool solution(string s) { int a = 0; if(s.length() == 4 || s.length() == 6) { for(int i = 0; i 0) break; if(isdigit(s[i]) == false) { ++a; } } return a == 0 ? true : false; }else return false; } 문자열 내 p와 y의 개수 #include #include using namespace std; int count(string s, char c) { int num = 0; for(int i = 0; i 이전 1 2 3 4 5 6 다음