본문 바로가기

전체 글333

[프로그래머스/C언어] 조건에 맞게 수열 변환하기 3 문제 정수 배열 arr와 자연수 k가 주어집니다. 만약 k가 홀수라면 arr의 모든 원소에 k를 곱하고, k가 짝수라면 arr의 모든 원소에 k를 더합니다. 이러한 변환을 마친 후의 arr를 return 하는 solution 함수를 완성해 주세요. 솔루션 #include #include #include // arr_len은 배열 arr의 길이입니다. int* solution(int arr[], size_t arr_len, int k) { // return 값은 malloc 등 동적 할당을 사용해주세요. 할당 길이는 상황에 맞게 변경해주세요. int* answer = (int*)malloc(1000000*sizeof(int)); if(k % 2 != 0) for(int i = 0; i < arr_len; .. 2023. 8. 3.
[프로그래머스/C언어] 주사위 게임 1 문제 1부터 6까지 숫자가 적힌 주사위가 두 개 있습니다. 두 주사위를 굴렸을 때 나온 숫자를 각각 a, b라고 했을 때 얻는 점수는 다음과 같습니다. a와 b가 모두 홀수라면 a2 + b2 점을 얻습니다. a와 b 중 하나만 홀수라면 2 × (a + b) 점을 얻습니다. a와 b 모두 홀수가 아니라면 |a - b| 점을 얻습니다. 두 정수 a와 b가 매개변수로 주어질 때, 얻는 점수를 return 하는 solution 함수를 작성해 주세요. 솔루션 #include #include #include #include int solution(int a, int b) { int answer = 0; if( a % 2 != 0 && b % 2 != 0) answer = a*a+b*b; else if( a % 2.. 2023. 8. 3.
[프로그래머스/C언어] 정수 찾기 문제 정수 리스트 num_list와 찾으려는 정수 n이 주어질 때, num_list안에 n이 있으면 1을 없으면 0을 return하도록 solution 함수를 완성해주세요. 솔루션 #include #include #include // num_list_len은 배열 num_list의 길이입니다. int solution(int num_list[], size_t num_list_len, int n) { int answer = 0; for(int i = 0; i < num_list_len; i++) if(num_list[i] == n) { answer = 1; break; } return answer; } https://school.programmers.co.kr/learn/courses/30/lessons/1.. 2023. 8. 2.
[프로그래머스/C언어] 부분 문자열 문제 어떤 문자열 A가 다른 문자열 B안에 속하면 A를 B의 부분 문자열이라고 합니다. 예를 들어 문자열 "abc"는 문자열 "aabcc"의 부분 문자열입니다. 문자열 str1과 str2가 주어질 때, str1이 str2의 부분 문자열이라면 1을 부분 문자열이 아니라면 0을 return하도록 solution 함수를 완성해주세요. 솔루션 #include #include #include #include // 파라미터로 주어지는 문자열은 const로 주어집니다. 변경하려면 문자열을 복사해서 사용하세요. int solution(const char* str1, const char* str2) { int answer = 0; if(strstr(str2, str1)) answer = 1; else answer = 0.. 2023. 8. 2.
[프로그래머스/C언어] 부분 문자열인지 확인하기 문제 부분 문자열이란 문자열에서 연속된 일부분에 해당하는 문자열을 의미합니다. 예를 들어, 문자열 "ana", "ban", "anana", "banana", "n"는 모두 문자열 "banana"의 부분 문자열이지만, "aaa", "bnana", "wxyz"는 모두 "banana"의 부분 문자열이 아닙니다. 문자열 my_string과 target이 매개변수로 주어질 때, target이 문자열 my_string의 부분 문자열이라면 1을, 아니라면 0을 return 하는 solution 함수를 작성해 주세요. 솔루션 #include #include #include // 파라미터로 주어지는 문자열은 const로 주어집니다. 변경하려면 문자열을 복사해서 사용하세요. int solution(const char* m.. 2023. 8. 2.
[프로그래머스/C언어] 문자열로 변환 문제 정수 n이 주어질 때, n을 문자열로 변환하여 return하도록 solution 함수를 완성해주세요. 솔루션 #include #include #include char* solution(int n) { // return 값은 malloc 등 동적 할당을 사용해주세요. 할당 길이는 상황에 맞게 변경해주세요. char* answer = (char*)malloc(1); char* sol = (char*)malloc(1); int i = 10; int j = 0; int k; while(1){ sol[j++] = n%10; //printf("%d ", n%10); n = n / 10; if(n/10==0 && n%10==0) break; } for(k = 0; k < j; k++){ printf("%d: %.. 2023. 8. 2.
[프로그래머스/C언어] 0 떼기 문제 정수로 이루어진 문자열 n_str이 주어질 때, n_str의 가장 왼쪽에 처음으로 등장하는 0들을 뗀 문자열을 return하도록 solution 함수를 완성해주세요. 솔루션 #include #include #include #include // 파라미터로 주어지는 문자열은 const로 주어집니다. 변경하려면 문자열을 복사해서 사용하세요. char* solution(const char* n_str) { // return 값은 malloc 등 동적 할당을 사용해주세요. 할당 길이는 상황에 맞게 변경해주세요. char* answer = (char*)malloc(strlen(n_str)); int j = 0; for(int i = 0; i < strlen(n_str);i++){ if(n_str[i] != '.. 2023. 8. 2.
[프로그래머스/C언어] 문자열 정수의 합 문제 한 자리 정수로 이루어진 문자열 num_str이 주어질 때, 각 자리수의 합을 return하도록 solution 함수를 완성해주세요. 솔루션 #include #include #include // 파라미터로 주어지는 문자열은 const로 주어집니다. 변경하려면 문자열을 복사해서 사용하세요. int solution(const char* num_str) { int answer = 0; for(int i = 0; i < strlen(num_str); i++) { answer += num_str[i] - 48; } return answer; } https://school.programmers.co.kr/learn/courses/30/lessons/181849 2023. 8. 2.
[프로그래머스/C언어] 정수 부분 문제 실수 flo가 매개 변수로 주어질 때, flo의 정수 부분을 return하도록 solution 함수를 완성해주세요. 솔루션 #include #include #include int solution(double flo) { int answer = 0; answer = flo / 1; return answer; } https://school.programmers.co.kr/learn/courses/30/lessons/181850 2023. 8. 2.
[프로그래머스/C언어] 뒤에서 5등 위로 문제 정수로 이루어진 리스트 num_list가 주어집니다. num_list에서 가장 작은 5개의 수를 제외한 수들을 오름차순으로 담은 리스트를 return하도록 solution 함수를 완성해주세요. 솔루션 #include #include #include // num_list_len은 배열 num_list의 길이입니다. int* solution(int num_list[], size_t num_list_len) { // return 값은 malloc 등 동적 할당을 사용해주세요. 할당 길이는 상황에 맞게 변경해주세요. int* answer = (int*)malloc(num_list_len*sizeof(int)); int tmp; int i; for(i = 0; i < num_list_len; i++) for.. 2023. 8. 2.