< '분류 전체보기' 카테고리의 글 목록 (16 Page)

전체글 179

10844번 : 쉬운 계단 수 (C)

문제를 풀면서 어이없던 것 -> 인접한 수의 차이가 1인 수를 계단 수라고 함에도 한 자리 수의 계단 수 경우의 수가 1~9까지 1개씩 있다는 것. 어딜 찾아봐도 설명이 없으며 내가 이해력이 딸린것인가?? 싶음 그냥 그런가 보다 하고 풀이함. 시도를 엄청 많이 해서 풀었는데, 알고리즘은 맞는데 1000000000 으로 나누라는 조건 때문에 오류가 발생해서 계속 틀렸다고 뜬 것 같음. #define _CRT_SECURE_NO_WARNINGS #include int main() { int N; scanf("%d", &N); int dp[101][10] = {0,}; dp[1][0] = 0; for (int i = 1; i < 10; i++) dp[1][i] = 1; for(int i = 2 ; i

제자리 힙 정렬

#define _CRT_SECURE_NO_WARNINGS #include int H[100]; int n = 0; int size = 0; void printArray() { for (int i = 1; i H[larger]) { larger = i * 2 + 1; //비교한 후 더 큰놈 저장 } } if (H[i] >= H[larger]) { //부모노드가 더 크면 리턴 return; } tmp = H[i]; //부모노드가 더 작으면 스왑 H[i] = H[larger]; H[larger] = tmp; downHeap(larger); } void insertItem(int key) { n++; H[n] = key; upHeap(n); } void rBuildHeap(int i) { if (i > n) r..

[C] 이진트리(이진탐색트리X)를 만든 후 탐색

#define _CRT_SECURE_NO_WARNINGS #include #include typedef struct treeNode { int data; struct treeNode* left; struct treeNode* right; } treeNode; treeNode* find; //순회를 통해 찾은 노드의 주소를 저장할 포인터 treeNode* insertFirstNode(treeNode* p, int x) // 처음 트리를 만들 때 사용할 함수 { treeNode* newNode; if (p == NULL) { newNode = (treeNode*)malloc(sizeof(treeNode)); newNode->data = x; newNode->left = NULL; newNode->right ..