알고리즘(37)
-
프로그래머스 - 두 정수 사이의 합 < level 1 >
문제 설명 두 정수 a, b가 주어졌을 때 a와 b 사이에 속한 모든 정수의 합을 리턴하는 함수, solution을 완성하세요. 예를 들어 a = 3, b = 5인 경우, 3 + 4 + 5 = 12이므로 12를 리턴합니다. 제한 조건 a와 b가 같은 경우는 둘 중 아무 수나 리턴하세요. a와 b는 -10,000,000 이상 10,000,000 이하인 정수입니다. a와 b의 대소관계는 정해져있지 않습니다. 풀이 사용 언어 : C++ #include #include using namespace std; long long solution(int a, int b) { long long answer = 0; if (a == b) answer = a; //같으면 아무거나 넣어주라고 해서 a넣음 else if (a ..
2020.06.05 -
프로그래머스 - 짝수와 홀수 < Level 1 >
문제 설명 정수 num이 짝수일 경우 Even을 반환하고 홀수인 경우 Odd를 반환하는 함수, solution을 완성해주세요. 제한 조건 num은 int 범위의 정수입니다. 0은 짝수입니다. 풀이 사용 언어 : C++ #include #include using namespace std; string solution(int num) { string answer = ""; if (num % 2 == 0) { answer += "Even"; } else { answer += "Odd"; } return answer; }
2020.06.05 -
프로그래머스 - 문자열 내 p와 y의 개수 < Level 1 >
문제 설명 대문자와 소문자가 섞여있는 문자열 s가 주어집니다. s에 'p'의 개수와 'y'의 개수를 비교해 같으면 True, 다르면 False를 return 하는 solution를 완성하세요. 'p', 'y' 모두 하나도 없는 경우는 항상 True를 리턴합니다. 단, 개수를 비교할 때 대문자와 소문자는 구별하지 않습니다. 예를 들어 s가 pPoooyY면 true를 return하고 Pyy라면 false를 return합니다. 제한사항 문자열 s의 길이 : 50 이하의 자연수 문자열 s는 알파벳으로만 이루어져 있습니다. 풀이 사용 언어 : C++ #include #include using namespace std; bool solution(string s) { bool answer = true; int p =..
2020.06.05 -
프로그래머스 - 나누어 떨어지는 숫자 배열 < level 1 >
문제 설명 array의 각 element 중 divisor로 나누어 떨어지는 값을 오름차순으로 정렬한 배열을 반환하는 함수, solution을 작성해주세요. divisor로 나누어 떨어지는 element가 하나도 없다면 배열에 -1을 담아 반환하세요. 제한사항 arr은 자연수를 담은 배열입니다. 정수 i, j에 대해 i ≠ j 이면 arr[i] ≠ arr[j] 입니다. divisor는 자연수입니다. array는 길이 1 이상인 배열입니다. 풀이 사용 언어 : C++ #include #include #include using namespace std; vector solution(vector arr, int divisor) { vector answer; for (int i = 0; i < arr.size(..
2020.06.05 -
프로그래머스 - 자릿수 더하기 < Level 1 >
문제 설명 자연수 N이 주어지면, N의 각 자릿수의 합을 구해서 return 하는 solution 함수를 만들어 주세요. 예를들어 N = 123이면 1 + 2 + 3 = 6을 return 하면 됩니다. 제한사항 N의 범위 : 100,000,000 이하의 자연수 풀이 사용 언어 : C++ #include using namespace std; int solution(int n) { int answer = 0; while (n != 0) { answer += (n % 10); n = n / 10; } return answer; }
2020.06.05 -
프로그래머스 - 하샤드 수 < Level 1 >
문제 설명 양의 정수 x가 하샤드 수이려면 x의 자릿수의 합으로 x가 나누어져야 합니다. 예를 들어 18의 자릿수 합은 1+8=9이고, 18은 9로 나누어 떨어지므로 18은 하샤드 수입니다. 자연수 x를 입력받아 x가 하샤드 수인지 아닌지 검사하는 함수, solution을 완성해주세요. 제한 조건 x는 1 이상, 10000 이하인 정수입니다. 풀이 사용 언어 : C++ #include #include using namespace std; bool solution(int x) { bool answer = true; //일단 초기값은 true라고 한다. int sum = 0; //나머지가 들어갈 곳이다. int n = x; //몫이 들어갈 곳 혹은, 나머지를 제한 남은 값이 들어갈 곳이다. while (n ..
2020.06.05