목록분류 전체보기 (404)
SPRING :: NOTE
ArrayList[] mAlUserInfo; mAlUserInfo = new ArrayList[50]; ArrayList 배열 50개를 생성하고 각 배열안에 데이터가 있다고 가정. 중간 23번째 데이터를 삭제하고 배열을 당겨 Shift 시키고 싶은경우 아래와 같이 사용하자. (항상 다시 만들기 귀찮아서 포스팅을 남긴다.) mAlUserInfo[23] = null; 중간배열 삭제(null 값으로 초기화) for (int i = 23; i < mAlUserInfo.length - 1; i++) { mAlUserInfo[i] = mAlUserInfo[i + 1]; } mAlUserInfo[mAlUserInfo.length - 1] = null; 나머지 데이터 시프트 23번째 배열을 삭제하고, 그 이후 배열의 ..
다음과 같이 배열을 선언하고, 값이 유동적으로 변하기 때문에 개수를 셀 필요가 있다. ArrayList[] info = new ArrayList[50]; ArrayList로 배열을 선언한 경우, 각 요소는 null로 초기화된다. 이 배열은 ArrayList 객체에 대한 참조를 저장하고 있으며, 값이 없는 요소는 null을 저장하고 있다. 따라서, 값이 있는 요소의 개수를 세려면 null이 아닌 요소를 찾아야 한다. 아래와 같이 for-each 루프를 사용하여 각 요소를 검사하고, null이 아닌 요소의 개수를 계산할 수 있다. int count = 0; for (ArrayList list : info) { if (list != null) { count += list.size(); } } System.ou..
# 문제 설명 - 연산 ⊕는 두 정수에 대한 연산으로 두 정수를 붙여서 쓴 값을 반환한다. - 예를 들면 다음과 같습니다. - 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..