Coding Test/programmers
-
[프로그래머스] 정수 내림차순으로 배치하기Coding Test/programmers 2022. 9. 12. 16:20
문제 설명 함수 solution은 정수 n을 매개변수로 입력받습니다. n의 각 자릿수를 큰것부터 작은 순으로 정렬한 새로운 정수를 리턴해주세요. 예를들어 n이 118372면 873211을 리턴하면 됩니다. 제한 사항 n은 1이상 8000000000 이하인 자연수입니다. 입출력 예 n return 118372 873211 풀이 #include #include #include using namespace std; long long solution(long long n) { long long answer = 0; string strN = to_string(n); sort(strN.begin(), strN.end(), greater()); //greater() answer = stol(strN); return ..
-
[프로그래머스] 자연수 뒤집어 배열로 만들기 c++Coding Test/programmers 2022. 9. 12. 16:16
문제 설명 자연수 n을 뒤집어 각 자리 숫자를 원소로 가지는 배열 형태로 리턴해주세요. 예를들어 n이 12345이면 [5,4,3,2,1]을 리턴합니다. 제한 사항 n은 10,000,000,000이하인 자연수입니다. 입출력 예 n return 12345 [5,4,3,2,1] 풀이 #include #include using namespace std; vector solution(long long n) { vector answer; while(n > 0){ answer.push_back(n % 10); n /= 10; } return answer; }
-
[프로그래머스] 평균 구하기 c++Coding Test/programmers 2022. 9. 12. 16:11
문제 설명 정수를 담고 있는 배열 arr의 평균값을 return하는 함수, solution을 완성해보세요. 제한 사항 arr은 길이 1 이상, 100 이하인 배열입니다. arr의 원소는 -10,000 이상 10,000 이하인 정수입니다. 입출력 예 arr return [1,2,3,4] 2.5 [5,5] 5 풀이 sum 기능을 하는 accumulate 함수를 사용해서 풀었다. #include #include #include using namespace std; double solution(vector arr) { double answer = 0; answer = accumulate(arr.begin(), arr.end(), 0) / double(arr.size()); return answer; }
-
[프로그래머스] 정수 제곱근 판별 c++Coding Test/programmers 2022. 9. 12. 15:54
문제 설명 임의의 양의 정수 n에 대해, n이 어떤 양의 정수 x의 제곱인지 아닌지 판단하려 합니다. n이 양의 정수 x의 제곱이라면 x+1의 제곱을 리턴하고, n이 양의 정수 x의 제곱이 아니라면 -1을 리턴하는 함수를 완성하세요. 제한 사항 n은 1이상, 50000000000000 이하인 양의 정수입니다. 입출력 예 n return 121 144 3 -1 풀이 #include #include #include using namespace std; long long solution(long long n) { long long answer = 0; answer = sqrt(n); if(answer * answer != n) return -1; return (answer + 1) * (answer + 1);..
-
[프로그래머스] 자릿수 더하기 c++Coding Test/programmers 2022. 9. 12. 15:42
문제 설명 자연수 N이 주어지면, N의 각 자릿수의 합을 구해서 return 하는 solution 함수를 만들어 주세요. 예를들어 N = 123이면 1 + 2 + 3 = 6을 return 하면 됩니다. 제한 사항 N의 범위 : 100,000,000 이하의 자연수 입출력 예 N answer 123 6 987 24 풀이 #include #include using namespace std; int solution(int n) { int answer = 0; string strN = to_string(n); for(const auto &it : strN){ answer += it - '0'; } return answer; } 다른 풀이 int solution(int n) { int answer = 0; whil..
-
[프로그래머스] 짝수와 홀수 c++Coding Test/programmers 2022. 9. 12. 15:28
문제 설명 정수 num이 짝수일 경우 "Even"을 반환하고 홀수인 경우 "Odd"를 반환하는 함수, solution을 완성해주세요. 제한 사항 num은 int 범위의 정수입니다. 0은 짝수입니다. 입출력 예 num return 3 "Odd" 4 "Even" 풀이 num % 2 결과로 음수가 나올 수 있으니 절댓값으로 계산한다. #include #include #include using namespace std; string solution(int num) { string answer = ""; if(abs(num) % 2 == 1){ return "Odd"; } return "Even"; } And연산으로 짝수, 홀수를 판단하는 방법도 있다. #include #include using namespace..
-
[프로그래머스] 부족한 금액 계산하기 c++Coding Test/programmers 2022. 9. 8. 14:27
문제 설명 새로 생긴 놀이기구는 인기가 매우 많아 줄이 끊이질 않습니다. 이 놀이기구의 원래 이용료는 price원 인데, 놀이기구를 N 번 째 이용한다면 원래 이용료의 N배를 받기로 하였습니다. 즉, 처음 이용료가 100이었다면 2번째에는 200, 3번째에는 300으로 요금이 인상됩니다. 놀이기구를 count번 타게 되면 현재 자신이 가지고 있는 금액에서 얼마가 모자라는지를 return 하도록 solution 함수를 완성하세요. 단, 금액이 부족하지 않으면 0을 return 하세요. 제한 사항 놀이기구의 이용료 price : 1 ≤ price ≤ 2,500, price는 자연수 처음 가지고 있던 금액 money : 1 ≤ money ≤ 1,000,000,000, money는 자연수 놀이기구의 이용 횟수 ..
-
[프로그래머스] 나머지가 1이 되는 수 찾기 c++Coding Test/programmers 2022. 9. 8. 14:17
문제 설명 자연수 n이 매개변수로 주어집니다. n을 x로 나눈 나머지가 1이 되도록 하는 가장 작은 자연수 x를 return 하도록 solution 함수를 완성해주세요. 답이 항상 존재함은 증명될 수 있습니다. 제한 사항 3 ≤ n ≤ 1,000,000 입출력 예 n result 10 3 12 11 풀이 입력 값 n은 3부터 주어진다. for문은 n-1의 최소 값은 2 이므로, 반복문은 2부터 n-1까지 진행하도록 한다. #include #include using namespace std; int solution(int n) { int answer = 0; for(int i = 1; i < n; i++){ if(n % i == 1) return i; } return answer; }