카카오 신입 공채 1차 코딩 테스트 비밀지도 문제풀기
#include<stdio.h>
int main(void)
{
int arr1[6] = {46, 33, 33 ,22, 31, 50};
int arr2[6] = {27 ,56, 19, 14, 14, 10};
int sum[6];
for(int i=0; i<6;i++)
{
char view[6] ={' ',};
sum[i] = arr1[i] | arr2[i];
for (int j = 0; sum[i] > 0; j++)
{
if(sum[i]% 2 ==1)
{
view[j] ='#';
}
sum[i] /= 2;
}
for (int k = 5; k >= 0; k--)
{
printf("%c", view[k]);
}
printf("\n");
}
return 0;
}
정렬 코드
#include<stdio.h>
#pragma warning (disable:4996)
void SwapInt(int* a, int* b)
{
int temp = *a;
*a = *b;
*b = temp;
}
void PrintArray(int* arr, int len)
{
printf("[ ");
for (int i = 0; i < len; i++)
{
printf("%d ", arr[i]);
}
printf("]\n");
}
void BubbleSort(int* arr, int len)
{
for (int i = 0; i < len - 1; i++)
{
for (int k = 1; k < len - i; k++)
{
if (arr[k - 1] > arr[k])
{
SwapInt(&arr[k - 1], &arr[k]);
}
}
printf("[ ");
for (int i = 0; i < len; i++)
{
printf("%d ", arr[i]);
}
printf("]\n");
}
}
void SelectionSort(int* arr, int len)
{
int min;
int minindex;
for (int i = 0; i < len - 1; i++)
{
min = arr[i];
minindex = i;
for (int k = 1 + i; k < len; k++)
{
if (min > arr[k])
{
min = arr[k];
minindex = k;
}
}
SwapInt(&arr[i], &arr[minindex]);
printf("[ ");
for (int i = 0; i < len; i++)
{
printf("%d ", arr[i]);
}
printf("]\n");
}
}
void InsertSort(int* arr, int len)
{
for (int i = 1; i < len; i++)
{
int key = arr[i];
int j = i - 1;
while (j >= 0 && key < arr[j])
{
arr[j + 1] = arr[j--];
}
arr[j + 1] = key;
printf("[ ");
for (int i = 0; i < len; i++)
{
printf("%d ", arr[i]);
}
printf("]\n");
}
}
void SequencialSort(int* arr, int len)
{
for (int i = 0; i < len-1; i++)
{
for (int j = i+1; j < len; j++)
{
if (arr[i] > arr[j])
{
SwapInt(&arr[i], &arr[j]);
}
}
}
}
int main()
{
int a[] = { 20,50,10,80,40,90,30,100,70,60 };
//BubbleSort(a, sizeof(a) / sizeof(int));
/*SelectionSort(a, sizeof(a) / sizeof(int));*/
//InsertSort(a, sizeof(a) / sizeof(int));
SequencialSort(a, sizeof(a) / sizeof(int));
PrintArray(a, sizeof(a) / sizeof(int));
return 0;
}
이진수 출력
#include<stdio.h>
#pragma warning (disable:4996)
int main()
{
int input=0;
int binary[100];
int div = 0;
printf("10진수 정수 입력:");
scanf("%d", &input);
for (int i = 0; input > 0; i++)
{
binary[i] = input % 2;
input /= 2;
div++;
}
for (int j = div-1; j >= 0; j--)
{
printf("%d ", binary[j]);
}
}