목록알고리즘과 자료구조/자료구조 (5)
Hansel
https://programmers.co.kr/learn/courses/30/lessons/42586 코딩테스트 연습 - 기능개발 프로그래머스 팀에서는 기능 개선 작업을 수행 중입니다. 각 기능은 진도가 100%일 때 서비스에 반영할 수 있습니다. 또, 각 기능의 개발속도는 모두 다르기 때문에 뒤에 있는 기능이 앞에 있는 programmers.co.kr 큐의 원리를 적용해서 푸는 문제이다. 굳이 큐를 써서 풀 필요는 없다. import java.util.*; class Solution { public int[] solution(int[] progresses, int[] speeds) { int idx =0; int resultIdx=0; ArrayList al = new ArrayList(); while..
#define _CRT_SECURE_NO_WARNINGS #include #include typedef struct treenode { int data; struct treenode *left, *right; }treenode; treenode t8 = { 8,NULL,NULL }; treenode t9 = { 9,NULL,NULL }; treenode t4 = { 4,&t8,&t9 }; treenode t5 = { 5,NULL,NULL }; treenode t2 = { 2,&t4,&t5 }; treenode t6 = { 6,NULL,NULL }; treenode t7 = { 7,NULL,NULL }; treenode t3 = { 3,&t6,&t7 }; treenode t1 = { 1,&t2,&t3 };..
#include #include typedef int element; typedef struct DListNode {// 이중연결 노드 타입 element data; struct DListNode* llink; struct DListNode* rlink; } DListNode; // 이중 연결 리스트를 초기화 void init(DListNode* phead) { phead->llink = phead; phead->rlink = phead; } // 이중 연결 리스트의 노드를 출력 void print_dlist(DListNode* phead) { DListNode* p; for (p = phead->rlink; p != phead; p = p->rlink) { printf(" ", p->data); } p..
#include #include typedef int element; typedef struct ListNode { // 노드 타입 element data; struct ListNode *link; } ListNode; // 리스트의 항목 출력 void print_list(ListNode* head) { ListNode* p; if (head == NULL) return; p = head; do { printf("%d->", p->data); p = p->link; } while (p -> link != head); printf("%d \n", p->data); // 마지막 노드 출력 } ListNode* insert_first(ListNode* head, element data) { ListNode *..
#include #include typedef struct node { int data; struct node* link; }LinkedList; LinkedList* insert_f(LinkedList* head, int value) { LinkedList* node = (LinkedList*)malloc(sizeof(LinkedList)); node->data = value; node->link = head; head = node; return head; } LinkedList* del_f(LinkedList* head) { LinkedList* temp = head; head = temp->link; free(temp); return head; } void get_entry(LinkedList* h..