μλ νμΈμ, μ½λ©νλ μμ°μ λλ€ !π₯°
μ΄λ² κΈμ λ°±μ€ 10815λ² μ«μ μΉ΄λ λ¬Έμ λ₯Ό CμΈμ΄λ‘ νΌ κ²μ λν κΈ°λ‘μ λλ€.

1. λ¬Έμ
μ«μ μΉ΄λλ μ μ νλκ° μ νμ Έ μλ μΉ΄λμ΄λ€. μκ·Όμ΄λ μ«μ μΉ΄λ Nκ°λ₯Ό κ°μ§κ³ μλ€. μ μ Mκ°κ° μ£Όμ΄μ‘μ λ, μ΄ μκ° μ νμλ μ«μ μΉ΄λλ₯Ό μκ·Όμ΄κ° κ°μ§κ³ μλμ§ μλμ§λ₯Ό ꡬνλ νλ‘κ·Έλ¨μ μμ±νμμ€.
2. μμ€ μ½λ
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
int binary_search(const int a[], int n, int key)
{
int start = 0;
int end = n - 1;
int mid;
do {
mid = (start + end) / 2;
if (a[mid] == key)
return 1;
else if (a[mid] < key)
start = mid + 1;
else
end = mid - 1;
} while (start <= end);
return 0;
}
int compare(const int* a, const int* b)
{
if (*a < *b)
return -1;
else if (*a > *b)
return 1;
else
return 0;
}
int main(void)
{
int i;
int n, m;
int* arr1;
int* arr2;
scanf("%d", &n);
arr1 = (int*)calloc(n, sizeof(int));
for (i = 0; i < n; i++)
scanf("%d", &arr1[i]);
scanf("%d", &m);
arr2 = (int*)calloc(m, sizeof(int));
for (i = 0; i < m; i++)
scanf("%d", &arr2[i]);
qsort(arr1, n, sizeof(int), (int(*)(const void*, const void*))compare);
for (i = 0; i < m; i++)
{
printf("%d ", binary_search(arr1, n, arr2[i]));
}
free(arr1);
free(arr2);
return 0;
}
3. νμ΄
μ°μ μ°λ¦¬λ μκ·Όμ΄κ° κ°μ§κ³ μλ μ«μ μΉ΄λμ κ°μμ κ° μΉ΄λμ μ ν μλ€μ μ μ₯ν΄λμ΄μΌ ν©λλ€.
λ°λΌμ scanfλ₯Ό μ¬μ©νμ¬ μ¬μ©μλ‘λΆν° μκ·Όμ΄κ° κ°μ§κ³ μλ μ«μ μΉ΄λμ κ°μ nμ μ λ ₯λ°μ ν,
callocμ μ΄μ©νμ¬ ν¬κΈ°κ° nμ΄κ³ 0μΌλ‘ μ΄κΈ°ν λ 1μ°¨μ λμ λ°°μ΄ arr1μ λ§λ€μ΄μ€λλ€.
μ΄ν λ°λ³΅λ¬Έμ λλ©° κ° μ«μ μΉ΄λμ μ ν μλ€μ μ¬μ©μλ‘λΆν° μ λ ₯λ°μ arr1 λ°°μ΄μ μ μ₯ν΄μ£Όλ©΄ λκ² μ£ ?
λ€μμΌλ‘ μ°λ¦¬λ μ£Όμ΄μ§ μ«μ μΉ΄λμ κ°μμ κ° μΉ΄λμ μ ν μλ€λ μ μ₯ν΄λμ΄μΌ ν©λλ€.
μμμ ν λ°©λ²κ³Ό λμΌνκ² νλ©΄ λκ² μ£ ?
μ£Όμ΄μ§ μ«μ μΉ΄λμ μ ν μλ€μ arr2μ μ μ₯ν΄λκ² μ΅λλ€.
μ΄μ μ°λ¦¬λ μ£Όμ΄μ§ μ«μ μΉ΄λμ μ ν μκ° μκ·Όμ΄κ° κ°μ§κ³ μλ μ«μ μΉ΄λμλ μλμ§λ₯Ό νμΈν΄μΌ ν©λλ€.
μ λ μ²μμ λ¨μνκ² 2μ€ forλ¬Έμ μ¬μ©νμ¬ μ£Όμ΄μ§ μΉ΄λμ μ ν μμ μκ·Όμ΄κ° κ°μ§κ³ μλ μ«μ μΉ΄λμ μ ν μλ₯Ό λͺ¨λ λΉκ΅νμμ΅λλ€.
κ·Έλ¬λ μ΄λ κ² νλ©΄ μκ° μ΄κ³Όκ° λ¨λλΌκ΅¬μ..π’
κ·Έλμ μκ°ν΄λΈ λ°©λ²μ΄ μκ·Όμ΄κ° κ°μ§κ³ μλ μ«μ μΉ΄λλ€μ μ°μ μ€λ¦μ°¨μμΌλ‘ μ λ ¬ν ν,
μ΄μ§ νμμ νμ¬ μ£Όμ΄μ§ μ«μ μΉ΄λμ μλ μλ₯Ό μκ·Όμ΄κ° κ°μ§κ³ μλμ§λ₯Ό νμΈνκΈ°λ‘ νμ΅λλ€!
λ°λΌμ μ°μ qsortλ₯Ό νμ©νμ¬ arr1μ μ μ₯λ μκ·Όμ΄κ° κ°μ§κ³ μλ μ«μ μΉ΄λλ€μ μ€λ¦ μ°¨μμΌλ‘ μ λ ¬ν΄μ€λλ€.
κ·Έλ¦¬κ³ forλ¬Έμ λλ©° μ£Όμ΄μ§ μ«μ μΉ΄λμ μ νμλ μλ₯Ό μκ·Όμ΄κ° κ°μ§κ³ μλμ§ binary_search ν¨μλ₯Ό ν΅ν΄ νμΈνλ©°
κ°μ§κ³ μλ€λ©΄ 1μ, κ°μ§κ³ μμ§ μλ€λ©΄ 0μ λ°λ‘λ°λ‘ μΆλ ₯νλλ‘ νμμ΅λλ€.
λ§μ§λ§μΌλ‘ μ°λ¦¬κ° μ¬μ©νλ λ©λͺ¨λ¦¬λ€μ λ€μ λ°νν΄μ£Όμ΄μΌ λκ² μ£ ?
freeλ₯Ό ν΅ν΄ arr1κ³Ό arr2 λ°°μ΄μ λ§λ€κΈ° μνμ¬ μ¬μ©νλ λ©λͺ¨λ¦¬λ€μ λ°νν΄μ€λλ€.
'π» μ½ν > π C' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
| [λ°±μ€][CμΈμ΄] #1110 λνκΈ° μ¬μ΄ν΄ (0) | 2022.07.04 |
|---|