본문 바로가기

전체 글136

[Level1] 하샤드 수 답안 및 풀이 ◇ 문제 설명 양의 정수 x가 하샤드 수이려면 x의 자릿수의 합으로 x가 나누어져야 합니다. 예를 들어 18의 자릿수 합은 1+8=9이고, 18은 9로 나누어 떨어지므로 18은 하샤드 수입니다. 자연수 x를 입력받아 x가 하샤드 수인지 아닌지 검사하는 함수, solution을 완성해주세요. ◇ 제한 조건 는 1 이상, 10000 이하인 정수입니다. ◇ 입출력 예시 arr return 10 true 12 true 11 false 13 false ◇ 예시 설명 입출력 예 #1 10의 모든 자릿수의 합은 1입니다. 10은 1로 나누어 떨어지므로 10은 하샤드 수입니다. 입출력 예 #2 12의 모든 자릿수의 합은 3입니다. 12는 3으로 나누어 떨어지므로 12는 하샤드 수입니다. 입출력 예 #3 11의 모든 자.. 2021. 6. 12.
[Level1] 평균 구하기 답안 및 풀이 ◇ 문제 설명 정수를 담고 있는 배열 arr의 평균값을 return하는 함수, solution을 완성해보세요. ◇ 제한 조건 arr은 길이 1 이상, 100 이하인 배열입니다. arr의 원소는 -10,000 이상 10,000 이하인 정수입니다. ◇ 입출력 예시 arr return [1, 2, 3, 4] 2.5 [5, 5] 5 ◇ 초기 내용 ※ [출처] 프로그래머스-코딩테스트 연습-문제명 ※ 초기 내용을 참고하여 문제에 맞는 코드를 작성하세요. #include #include #include // arr_len은 배열 arr의 길이입니다. double solution(int arr[], size_t arr_len) { double answer = 0; return answer; } ◇ 답안 #include.. 2021. 6. 11.
[Level1] 콜라츠 추측 답안 및 풀이 ◇ 문제 설명 1937년 Collatz란 사람에 의해 제기된 이 추측은, 주어진 수가 1이 될때까지 다음 작업을 반복하면, 모든 수를 1로 만들 수 있다는 추측입니다. 작업은 다음과 같습니다. 1-(1). 입력된 수가 짝수라면 2로 나눕니다. 1-(2). 입력된 수가 홀수라면 3을 곱하고 1을 더합니다. 2. 결과로 나온 수에 같은 작업을 1이 될 때까지 반복합니다. 예를 들어, 입력된 수가 6이라면 6→3→10→5→16→8→4→2→1 이 되어 총 8번 만에 1이 됩니다. 위 작업을 몇 번이나 반복해야하는지 반환하는 함수, solution을 완성해 주세요. 단, 작업을 500번을 반복해도 1이 되지 않는다면 –1을 반환해 주세요. ◇ 제한 조건 입력된 수, num은 1 이상 8000000 미만인 정수입니.. 2021. 6. 11.
[Level1] 짝수와 홀수 답안 및 풀이 ◇ 문제 설명 정수 num이 짝수일 경우 "Even"을 반환하고 홀수인 경우 "Odd"를 반환하는 함수, solution을 완성해주세요. ◇ 제한 조건 num은 int 범위의 정수입니다. 0은 짝수입니다. ◇ 입출력 예시 num return 3 "Odd" 4 "Even" ◇ 초기 내용 ※ [출처] 프로그래머스-코딩테스트 연습-문제명 ※ 초기 내용을 참고하여 문제에 맞는 코드를 작성하세요. #include #include #include char* solution(int num) { // 리턴할 값은 메모리를 동적 할당해주세요 char* answer = (char*)malloc(...); return answer; } ◇ 답안 #include #include #include char* solution(in.. 2021. 6. 10.
[Level1] 정수 제곱근 판별 답안 및 풀이 ◇ 문제 설명 임의의 양의 정수 n에 대해, n이 어떤 양의 정수 x의 제곱인지 아닌지 판단하려 합니다. n이 양의 정수 x의 제곱이라면 x+1의 제곱을 리턴하고, n이 양의 정수 x의 제곱이 아니라면 -1을 리턴하는 함수를 완성하세요. ◇ 제한 조건 ▶ n은 1이상, 50000000000000 이하인 양의 정수입니다 ◇ 입출력 예시 n return 121 144 3 -1 ◇ 예시 설명 예시 #1 121은 양의 정수 11의 제곱이므로, (11+1)를 제곱한 144를 리턴합니다. 예시 #2 3은 양의 정수의 제곱이 아니므로, -1을 리턴합니다. ◇ 초기 내용 ※ [출처] 프로그래머스-코딩테스트 연습-문제명 ※ 초기 내용을 참고하여 문제에 맞는 코드를 작성하세요. #include #include #inclu.. 2021. 6. 10.
[Level1] 자연수 뒤집어 배열로 만들기 답안 및 풀이 ◇ 문제 설명 자연수 n을 뒤집어 각 자리 숫자를 원소로 가지는 배열 형태로 리턴해주세요. 예를들어 n이 12345이면 [5,4,3,2,1]을 리턴합니다. ◇ 제한 조건 n은 10,000,000,000이하인 자연수입니다. ◇ 입출력 예시 n return 12345 [5, 4, 3, 2, 1] ◇ 초기 내용 ※ [출처] 프로그래머스-코딩테스트 연습-문제명 ※ 초기 내용을 참고하여 문제에 맞는 코드를 작성하세요. #include #include #include int* solution(long long n) { // 리턴할 값은 메모리를 동적 할당해주세요. int* answer = (int*)malloc(...); return answer; } ◇ 답안 #include #include #include int.. 2021. 6. 9.
[Level1] 자릿수 더하기 답안 및 풀이 ◇ 문제 설명 자연수 N이 주어지면, N의 각 자릿수의 합을 구해서 return 하는 solution 함수를 만들어 주세요. 예를들어 N = 123이면 1 + 2 + 3 = 6을 return 하면 됩니다. ◇ 제한 조건 N의 범위 : 100,000,000 이하의 자연수 ◇ 입출력 예시 N answer 123 6 987 24 ◇ 예시 설명 예시 #1 문제의 예시와 같습니다. 예시 #2 9 + 8 + 7 = 24이므로 24를 return 하면 됩니다. ◇ 초기 내용 ※ [출처] 프로그래머스-코딩테스트 연습-문제명 ※ 초기 내용을 참고하여 문제에 맞는 코드를 작성하세요. #include #include #include int solution(int n) { int answer = 0; return answer.. 2021. 6. 9.
[Level1] 약수의 합 답안 및 풀이 ◇ 문제 설명 정수 n을 입력받아 n의 약수를 모두 더한 값을 리턴하는 함수, solution을 완성해주세요. ◇ 제한 조건 n은 0 이상 3000이하인 정수입니다. ◇ 입출력 예시 n return 12 28 5 6 ◇ 예시 설명 예시 #1 12의 약수는 1, 2, 3, 4, 6, 12입니다. 이를 모두 더하면 28입니다. 예시 #2 5의 약수는 1, 5입니다. 이를 모두 더하면 6입니다. ◇ 초기 내용 ※ [출처] 프로그래머스-코딩테스트 연습-문제명 ※ 초기 내용을 참고하여 문제에 맞는 코드를 작성하세요. #include #include #include int solution(int n) { int answer = 0; return answer; } ◇ 답안 #include #include #inclu.. 2021. 6. 8.
[Level1] 이상한 문자 만들기 답안 및 풀이 ◇ 문제 설명 문자열 s는 한 개 이상의 단어로 구성되어 있습니다. 각 단어는 하나 이상의 공백문자로 구분되어 있습니다. 각 단어의 짝수번째 알파벳은 대문자로, 홀수번째 알파벳은 소문자로 바꾼 문자열을 리턴하는 함수, solution을 완성하세요. ◇ 제한 조건 문자열 전체의 짝/홀수 인덱스가 아니라, 단어(공백을 기준)별로 짝/홀수 인덱스를 판단해야합니다. 첫 번째 글자는 0번째 인덱스로 보아 짝수번째 알파벳으로 처리해야 합니다. ◇ 입출력 예시 s return "try hello world" "TrY HeLlO WoRlD" ◇ 예시 설명 "try hello world"는 세 단어 "try", "hello", "world"로 구성되어 있습니다. 각 단어의 짝수번째 문자를 대문자로, 홀수번째 문자를 소문.. 2021. 6. 8.