반응형

Algorithms 8

[Queue] Linked List 방식 환형 큐(환형 링크드 리스트)

앞서 설명한 Node 개념으로 Linked List 방식을 사용하여 간단한 환형 큐를 작성해 보았다. 개념적 이해를 돕고 보기 쉽게 아주 간단히 작성하기 위해 노드 중간 삽입 중간 삭제 등... 은 작성하지 않았다. 이정도 이해하고 구현할 수 있으면 충분히 응용해서 구현 가능 할 것이라 생각 된다. #include #include #define QUEUE_TEST1 typedef struct CircularQueueNode { int data; struct CircularQueueNode* Next; struct CircularQueueNode* Pre; }CQNode; #if QUEUE_TEST CQNode* CreateNode(int i) #else CQNode* CreateNode() #endif ..

Algorithms 2016.08.17

인수분해(insubunE)

위의 근의 공식을 이용해서 푼다. (-b ± sqrt( pow(b,2) - 4*a*c ) ) / 2*a x^2 + ax + b 의 식에서 a와 b가 입력으로 주어질때 /* 근의공식 ax^2 + bx + c 일때 (-b+_sqrt(pow(b,2)-4*a*c))⁄2*a */ #include #include int main() { int a = 0, b = 0; int num1, num2; scanf("%d %d", &a, &b); num1 = (-a + (int)(sqrt(pow((double)a, (double)2) - (double)(4 * b)))) ⁄ 2; num2 = (-a - (int)(sqrt(pow((double)a, (double)2) - (double)(4 * b)))) ⁄ 2; if (n..

Algorithms 2014.09.04

최대 공약수(GCD), 최소 공배수(LCM)

//최대 공약수는 두 수중 큰수를 작은수로 나눈 나머지가 0이 될때까지 계속 반복하여 나오는 큰수이다. //최소 공배수는 두 수의 곱에 최대 공약수를 나눈 값이다. #include int gcd(int a, int b);//최대 공약수 int lcm(int a, int b, int g);//최소 공배수 int main() { int num1 = 0, num2 = 0; scanf("%d %d", &num1, &num2); printf("최대공약수 : %d, 최소공배수 : %d\n", gcd(num1, num2), lcm(num1, num2, gcd(num1, num2))); return 0; } int gcd(int a, int b) { int temp = 0; while (a) { if (a < b) {..

Algorithms 2014.09.03

[정올]동전 자판기

문제코드 : 1183 동전 자판기(下) Time Limit : 1000MS 철수는 동전 자판기를 자주 이용한다. 그래서 그는 항상 상당히 많은 개수의 동전들을 주머니에 가지고 다니는데, 동전들이 주머니에서 짤랑거리는 것을 듣기 싫어한다. 그래서 철수는 동전자판기에서 무언가 살 때는 되도록 많은 개수의 동전을 사용한다. 철수의 주위에 있는 자판기들은 아주 구형인 모델이어서 지폐를 사용할 수 없고, 또, 정확한 액수만을 넣어야 한다.이 문제는 철수가 가지고 있는 동전 중 최대 개수의 동전을 이용하여 자판기의 물건을 구입하는 방법을 출력하는 프로그램을 작성하는 것이다. 첫줄에는 자판기에서 구입하려는 물건의 값 W가 주어진다. 둘째줄에는 6개의 정수가 주어진다. 각각의 정수는 철수가 가지고 있는 500원짜리, ..

Algorithms 2014.09.01

[정올]저글링 방사능 오염

저글링 방사능 오염 Time Limit : 1000MS 승훈이는 심심한 시간에 스타크래프트(Starcraft) 게임을 하며 놀고 있었다. 스타크래프트 유닛중 하나인 저글링을 한 곳에 몰아세운 뒤, 방사능 오염 공격으로 없애보려고 했다. 그런데 좀 더 재미있게 게임을 하기 위해서 게임을 개조하여 방사능 오면 공격을 가하면 방사능은 1초마다 이웃한 저글링에 오염된다. 그리고 방사능에 오염된 저글링은 3초 후에 죽게 된다. 예를 들어 아래 왼쪽그림과 같이 모여 있는 저글링 중에 빨간 동그라미 표시를 한 저글링에게 방사능 오염공격을 가하면, 총 9초 후에 저글링들이 죽게 된다. 아래 오른쪽에 있는 그림의 숫자들은 각 저글링들이 죽는 시간이다. 저글링을 모아놓은 지도의 크기와 지도상에 저글링들이 놓여 있는 격자 ..

Algorithms 2014.09.01

[정올] - [1067]종이자르기

종이자르기 Time Limit : 1000MS 아래 과 같이 직사각형 모양의 종이가 있다. 이 종이는 가로방향과 세로 방향으로 1㎝마다 점선이 그어져 있다. 가로 점선은 위에서 아래로 1번부터 차례로 번호가 붙어 있고, 세로 점선은 왼쪽에서 오른쪽으로 번호가 붙어 있다. 점선을 따라 이 종이를 칼로 자르려고 한다. 가로 점선을 따라 자르는 경우는 종이의 왼쪽 끝에서 오른쪽 끝까지, 세로 점선인 경우는 위쪽 끝에서 아래쪽 끝까지 한 번에 자른다. 예를 들어, 의 가로 길이 10㎝이고 세로 길이 8㎝인 종이를 3번 가로 점선, 4번 세로 점선, 그리고 2번 가로 점선을 따라 자르면 와 같이 여러 개의 종이 조각으로 나뉘게 된다. 이 때 가장 큰 종이 조각의 넓이는 30㎠이다. 입력으로 종이의 가로 세로 길이..

Algorithms 2013.08.15

[리스트: LIST] - 노드(Node)

단순한 배열의 한계 배열을 너무 작게 선언하면 오버플로우 걱정. 너무 크게 선언하자니 메모리 낭비... 이 두 문제를 해결 하기 위해 배열처럼 데이터 집합을 보관하는 기능을 가지면서도 한편으로는 배열과는 달리 유연하게 크기를 바꿀 수 있는 자료 구조가 필요 하다. 이러한 문제를 해결 해 줄 수 있는 것이 바로 자료구조의 리스트이다. 리스트에는 스택과 큐, 트리를 이해 할 수 있는 가장 기초적인 기반이 된다. 그리고 메모리 처리 기법에 앞으로 익숙 해 질 수 있도록 해야한다. 노드 우선 노드의 구조 부터 소개 하겠다. 왜냐하면 노드는 리스트를 구성하는 가장 기본적인 구성 요소 단위이기 때문이다. 그리고 큐, 스택, 트리 등의 자료구조에서도 가장 기본적인 구성 요소 단위로 사용되기 때문이다. 노드는 크게 2..

Algorithms 2013.08.04
반응형