728x90

전체 글 637

Algorithm] 동적계획법 - 연속 행렬 곱셈

연속된 행렬들의 곱셈에 필요한 원소 간 최소 곱셈 횟수를 찾는 문제로,일단 연속된 행렬 간의 곱셈이 모두 가능하다는 전제 조건 하에 이루어진다. A=10X20, B=20X5, C=5X15 다음 세 행렬에 대한 계산을 예로 들면, AxBxC는 두 가지 방법으로 계산할 수 있다. 1. (AxB)xC2. Ax(BxC) 두 가지 계산은 결과는 아무 차이가 없지만, 순서에 따라서 두 행렬 곱셈의 횟수가 차이가 나기 때문에이를 최소화하고자 하는 방법을 구성할 필요가 있다. 일단, 1번의 계산을 예로 들면, 1번의 계산에서는 AxB는 10x20x5로, 1000회의 원소 곱셈을 시행하고,AxB 행렬은 10x5로, (AxB)xC는 750회 곱셈을 진행해 전체적으로 1750회의 원소 곱셈을 시행해야 한다. 2번의 계산은 ..

C++] vector를 구조체 내 변수 기준으로 정렬하기

C++로 알고리즘 문제를 풀거나 이런 저런 이유로 코딩을 하다 보면 vector를 사용하게 되고 이 vector 내에 들어가는 값들을 정렬하기 위해서 직접 정렬을 구현해주는 방법도 있지만 좀 더 최적화되어 빠른 속도로 정렬을 수행해주는 sort함수를 사용하게 된다. 요소의 상대적 위치가 바뀌지 않는 걸 원한다면, stable_sort를 사용하면 된다. 통상적으로 자료형이 하나(예를 들어 int 하나)만 들어가는 vector라면, 시작점과 끝만 정해주면 알아서 오름차순 정렬을 수행해버리기 때문에 문제가 되지 않지만, vector 배열에 들어가는 정보가 여러 가지 자료형이 섞여 있는 구조체이고 그 구조체 안의 변수를 기준으로 정렬을 수행해야 한다면, 갑자기 머리가 아파온다. 대부분 레퍼런스를 참고하지 않거나..

파도 파도 컨텐츠가 끝이 없는 게임, 대항해시대 온라인 - 1

파도 파도 컨텐츠가 끝이 없는 게임, 대항해시대 온라인 - 1 대항해시대라고 하면, 많은 사람들이 이 온라인 게임보다는대항해시대2, 대항해시대3 등의 시리즈 게임을 떠올릴 것이다.지극히 정상인 것이 대항해시대2 같은 게임이 명작으로 평가 받고 있는 데다가,온라인은 초기 유료화 정책으로 인해서 입소문만 자자했을 뿐이었다. 아직도 모르는 사람이 있는지 모르겠지만,대항해시대 온라인은 이제 완전히 무료로 즐길 수 있는부분유료화 게임으로 더 이상 돈이 필요 없다.도박성 컨텐츠를 즐기는 게 아니라면,조금의 고생을 통해서 게임 내 화폐(두캇)을 벌어들이기도 쉬우니여타 RPG 게임에 비해서는 확실히 돈을 쓰지 않고 즐기기에는 쉽다. 나온지 10년이나 지난 게임에 대해서 디테일한 리뷰를 하는 건 더 이상 의미가 없으니,..

DataStructure] C언어로 쉽게 풀어쓴 자료구조 9장 - 6

DataStructure] C언어로 쉽게 풀어쓴 자료구조 9장 - 6 C언어로 쉽게 풀어쓴 자료구조9장 Exercise 문제다.필자가 학교 다니면서 자료구조론 수업을 들었는데,과제로 제출했던 것들이고,난항을 겪고 있는 사람들에게 참고가 되었으면 하는 마음으로 올린다.자고로, 버그가 존재할 수 있으니 디버깅 작업은 필수다. 24. 퀵 정렬에서 함수가 수행되면서 정렬의 매 패스마다 다음과 같은 형식으로 화면에 출력하도록 함수를 수정하라. 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081..

DataStructure] C언어로 쉽게 풀어쓴 자료구조 9장 - 5

DataStructure] C언어로 쉽게 풀어쓴 자료구조 9장 - 5 C언어로 쉽게 풀어쓴 자료구조9장 Exercise 문제다.필자가 학교 다니면서 자료구조론 수업을 들었는데,과제로 제출했던 것들이고,난항을 겪고 있는 사람들에게 참고가 되었으면 하는 마음으로 올린다.자고로, 버그가 존재할 수 있으니 디버깅 작업은 필수다. 23. 제일 작은 값을 선택하는 선택 정렬 알고리즘을 제일 큰 값을 선택하도록 변경하라. 정수 배열은 여전히 오름차순으로 정렬되어야 한다. 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748#include #include #define SWAP(a,b) {int t; t=a; a=b..

DataStructure] C언어로 쉽게 풀어쓴 자료구조 9장 - 4

DataStructure] C언어로 쉽게 풀어쓴 자료구조 9장 - 4 C언어로 쉽게 풀어쓴 자료구조9장 Exercise 문제다.필자가 학교 다니면서 자료구조론 수업을 들었는데,과제로 제출했던 것들이고,난항을 겪고 있는 사람들에게 참고가 되었으면 하는 마음으로 올린다.자고로, 버그가 존재할 수 있으니 디버깅 작업은 필수다. 22. 선택 정렬의 코드를 수정하여 선택 정렬의 각 단계를 출력하도록 하라. 아래 그림에서 왼쪽 괄호 안에 있는 숫자는 정렬이 되어 있는 숫자들이다. 오른쪽은 정렬을 해야 할 숫자들이다. 선택 정렬의 단계에서 다음과 같이 출력하도록 selection_sort 함수를 수정하라. 이를 위하여 사용자로부터 숫자들을 입력받을 수 있도록 하라. 1234567891011121314151617181..

DataStructure] C언어로 쉽게 풀어쓴 자료구조 9장 - 3

DataStructure] C언어로 쉽게 풀어쓴 자료구조 9장 - 3 C언어로 쉽게 풀어쓴 자료구조9장 Exercise 문제다.필자가 학교 다니면서 자료구조론 수업을 들었는데,과제로 제출했던 것들이고,난항을 겪고 있는 사람들에게 참고가 되었으면 하는 마음으로 올린다.자고로, 버그가 존재할 수 있으니 디버깅 작업은 필수다. 21. 삽입 정렬에서 입력과 출력이 모두 동적 연결 리스트로 주어지는 경우의 삽입 정렬 함수를 구현하라. 12345678910111213141516171819202122232425#ifndef __SINGLE_LINKED_LIST_H__#define __SINGLE_LINKED_LIST_H__ typedef int element;typedef struct ListNode{ element..

DataStructure] C언어로 쉽게 풀어쓴 자료구조 9장 - 2

DataStructure] C언어로 쉽게 풀어쓴 자료구조 9장 - 2 C언어로 쉽게 풀어쓴 자료구조9장 Exercise 문제다.필자가 학교 다니면서 자료구조론 수업을 들었는데,과제로 제출했던 것들이고,난항을 겪고 있는 사람들에게 참고가 되었으면 하는 마음으로 올린다.자고로, 버그가 존재할 수 있으니 디버깅 작업은 필수다. 20 C언어에서는 다음과 같이 함수 포인터를 파라미터로 갖는 함수를 만드는 것도 가능하다.먼저 간단한 두 개의 함수를 작성한다. ascend(int x, int y)는 xy면 TRUE를, 아니면 FALSE를 반환한다. insertion_sort 함수에 ascend 함수를 파라미터로 전달하면 오름차순 정렬이 되도록 하고, descend 함수를 파라미터로 전달하면 내림차순 정렬이 되도록 하..

DataStructure] C언어로 쉽게 풀어쓴 자료구조 9장 - 1

DataStructure] C언어로 쉽게 풀어쓴 자료구조 9장 - 1 C언어로 쉽게 풀어쓴 자료구조9장 Exercise 문제다.필자가 학교 다니면서 자료구조론 수업을 들었는데,과제로 제출했던 것들이고,난항을 겪고 있는 사람들에게 참고가 되었으면 하는 마음으로 올린다.자고로, 버그가 존재할 수 있으니 디버깅 작업은 필수다. 19. 삽입 정렬의 코드를 수정하여 삽입 정렬의 각 단계를 출력하도록 하라. 아래 그림에서 왼쪽 괄호 안에 있는 숫자는 정렬이 되어 있는 숫자들이다. 오른 쪽은 정렬을 해야 할 숫자들이다. 삽입 정렬의 단계에서 다음과 같이 출력하도록 insertion_sort 함수를 수정하라. 이를 위하여 사용자로부터 숫자를 입력받을 수 있도록 하여라. 123456789101112131415161718..

아키에이지] 1

아키에이지] 1 이 게임도 메이플만큼 오래한 건 아니지만,하고 그만두고 다시 하기를 수 차례 반복한 게임 중 하나다.많은 사람들 뇌리에는 아직도 이 게임이 유료 게임으로 각인되어 있다.아무래도 초기 정책이 사람들에겐 매우 생소하게 느껴졌던 탓이 아닌가 싶다. 취향도 많이 타고 꽤 굵직한 사건들도 많이 터진 게임치고는비교적 잘 굴러가는 편이지만,게임 특성 상 시골 서버와 도시 서버가 존재하기 마련이었고결국 여러 차례 서버 통폐합과정에서 내가 있던 에안나 서버도 공중 분해 되었다. 그대로 있었다면 누이 서버로 통합되었겠지만서버통폐합 유예 기간에 무료로 지급 받은 서버이전권을 써서 크라켄으로 방향을 틀었다.서버 이전하고 나서 집터를 구했다가늘 그렇듯 게임을 접고 집터고 뭐고 다 날린 상태로 다시 시작했다. 가..

728x90