목록c언어 (14)
SPRING :: NOTE
# 문제 설명 - 연산 ⊕는 두 정수에 대한 연산으로 두 정수를 붙여서 쓴 값을 반환한다. - 예를 들면 다음과 같습니다. - 12 ⊕ 3 = 123 - 3 ⊕ 12 = 312 - 양의 정수 a와 b가 주어졌을 때, a ⊕ b와 b ⊕ a 중 더 큰 값을 return 하는 solution 함수를 작성 - 단, a ⊕ b와 b ⊕ a가 같다면 a ⊕ b를 return 한다. #include int combine(int a, int b) { // 연산 ⊕를 수행하는 함수 int ret = a; while (b > 0) { ret *= 10; b /= 10; } return ret + b; } int solution(int a, int b) { int a_b = combine(a, b); int b_a = c..
# 문제 설명 - 문자열 my_string과 정수 k가 주어질 때, my_string을 k번 반복한 문자열을 return 하는 함수를 작성 # 제한사항 - 1 ≤ my_string의 길이 ≤ 100 - my_string은 영소문자로만 이루어져 있음 - 1 ≤ k ≤ 100 #include #include #include char* repeatString(char* my_string, int k) { int len = strlen(my_string); // 문자열의 길이 char* result = (char*)malloc(len * k + 1); // 결과 문자열 저장할 동적할당 // k번 만큼 문자열을 이어붙임 for (int i = 0; i < k; i++) { strcat(result, my_stri..
# 문제 설명 - 문자들이 담겨있는 배열 arr가 주어진다. - arr의 원소들을 순서대로 이어 붙인 문자열을 return 하는 solution함수를 작성 # 제한사항 - 1 ≤ arr의 길이 ≤ 200 - arr의 원소는 전부 알파벳 소문자로 이루어진 길이가 1인 문자열 #include #include #include char* solution(char* arr[], int arr_len) { // 문자열을 저장할 메모리 동적 할당 char* result = (char*)malloc(sizeof(char) * (arr_len + 1)); // 동적 할당된 메모리가 있는지 확인 if (result == NULL) { return NULL; } // 문자열 초기화 memset(result, 0, sizeo..
# 문제 설명 - 길이가 같은 두 문자열 str1과 str2가 주어진다. - 두 문자열의 각 문자가 앞에서부터 서로 번갈아가며 한 번씩 등장하는 문자열을 만들어 return 하는 solution 함수를 완성 # 제한사항 - 1 ≤ str1의 길이 = str2의 길이 ≤ 10 - str1과 str2는 알파벳 소문자로 이루어진 문자열입니다. # 입출력 예 - str1str2result - "aaaaa""bbbbb""ababababab" #include #include char* mixStrings(char* str1, char* str2) { int length = strlen(str1); char* mixed = (char*) malloc((length * 2 + 1) * sizeof(char)); // ..
# 문제 설명 - 문자열 my_string, overwrite_string과 정수 s가 주어진다. - 문자열 my_string의 인덱스 s부터 overwrite_string의 길이만큼을 문자열 overwrite_string으로 바꾼 문자열을 return 하는 solution 함수를 작성 # 제한사항 - my_string와 overwrite_string은 숫자와 알파벳으로 이루어져 있습니다. - 1 ≤ overwrite_string의 길이 ≤ my_string의 길이 ≤ 1,000 - 0 ≤ s ≤ my_string의 길이 - overwrite_string의 길이 # 입출력 예 - my_stringoverwrite_stringsresult - "He11oWor1d""lloWorl"2"HelloWorld" ..
# 문제 설명 - 자연수 n이 입력으로 주어졌을 때 n이 - 짝수이면 "n is even" - 홀수이면 "n is odd."를 출력 # 제한사항 - 1 ≤ n ≤ 1,000 #include int main() { int n; scanf("%d", &n); if (n % 2 == 0) { printf("%d is even", n); } else { printf("%d is odd", n); } return 0; } 이 코드는 입력받은 자연수가 짝수인지 홀수인지 판별하는 코드이다. 명령프롬프트에 정수 n을 입력받고, n이 짝수인지 홀수인지 판별하기 위해 % 연산자를 사용한다. n % 2가 0이면 n은 짝수이고, 그렇지 않으면 n은 홀수이다. 짝수인 경우 "n is even"을 출력하고, 홀수인 경우 "n i..
# 문제 설명 - 문자열 str이 주어진다. - 문자열을 시계방향으로 90도 돌려서 출력하는 코드를 작성 # 제한사항 - 1 ≤ str의 길이 ≤ 10 #include #include #define MAX_LEN 11 // 최대 문자열 길이 + 1 int main() { char str[MAX_LEN]; // 입력받을 문자열 char rotated[MAX_LEN][MAX_LEN]; // 시계방향으로 돌린 문자열 int len, i, j; // 문자열 입력 받기 scanf("%s", str); // 입력받은 문자열의 길이 구하기 len = strlen(str); // 시계방향으로 돌린 문자열 구하기 for (i = 0; i < len; i++) { for (j = 0; j < len; j++) { rota..
# 문제 설명 - 두 개의 문자열 str1, str2가 공백으로 구분되어 입력으로 주어진다. - 입출력 예와 같이 str1과 str2을 이어서 출력하는 코드를 작성 # 제한사항 - 1 ≤ str1, str2의 길이 ≤ 10 #include #include int main() { char str1[11], str2[11]; scanf("%s %s", str1, str2); strcat(str1, str2); printf("%s", str1); return 0; } 위 코드에서는 scanf 함수를 이용하여 두 개의 문자열을 입력 받는다. 입력 받은 두 문자열을 strcat 함수를 이용하여 이어붙이고, printf 함수를 이용하여 이어붙인 문자열을 출력한다. strcat 함수는 첫 번째 인자로 전달된 문자열에..