전체 글
-
백준(BOJ) 2579번 계단 오르기알고리즘 풀이/백준(Boj) 2019. 7. 10. 07:44
문제 : https://www.acmicpc.net/problem/2579 입력입력의 첫째 줄에 계단의 개수가 주어진다.둘째 줄부터 한 줄에 하나씩 제일 아래에 놓인 계단부터 순서대로 각 계단에 쓰여 있는 점수가 주어진다. 계단의 개수는 300이하의 자연수이고, 계단에 쓰여 있는 점수는 10,000이하의 자연수이다.출력첫째 줄에 계단 오르기 게임에서 얻을 수 있는 총 점수의 최댓값을 출력한다. 코드 ( C ++ )#include #include using namespace std;int stairs[301];int cache[301];int N;void find(){cache[0] = 0;cache[1] = stairs[1];cache[2] = stairs[1] + stairs[2];for (int i ..
-
여행 짐 싸기알고리즘 풀이/알고리즘 해결전략 연습 2019. 7. 10. 07:10
문제 : https://algospot.com/judge/problem/read/PACKING 입력입력의 첫 줄에는 테스트 케이스의 수 C (1≤C≤50)가 주어집니다. 각 테스트 케이스의 첫 줄에는 가져가고 싶은 물건의 수 N (1≤N≤100)과 캐리어의 용량 W (1≤W≤1000)가 주어집니다. 그 이후 N줄에 순서대로 각 물건의 정보가 주어집니다. 한 물건에 대한 정보는 물건의 이름, 부피, 절박도 순서대로 주어지며, 이름은 공백 없는 알파벳 대소문자 1글자 이상 20글자 이하의 문자열, 부피와 절박도는 1000 이하의 자연수입니다.출력각 테스트 케이스별 출력의 첫 줄에는 가져갈 수 있는 물건들의 최대 절박도 합과 가져갈 물건들의 개수를 출력합니다. 이후 한 줄에 하나씩 각 물건들의 이름을 출력합니..
-
백준(BOJ) 9095번 1,2,3 더하기알고리즘 풀이/백준(Boj) 2019. 7. 9. 07:00
문제 : https://www.acmicpc.net/problem/9095 입력첫째 줄에 테스트 케이스의 개수 T가 주어진다. 각 테스트 케이스는 한 줄로 이루어져 있고, 정수 n이 주어진다. n은 양수이며 11보다 작다.출력각 테스트 케이스마다, n을 1, 2, 3의 합으로 나타내는 방법의 수를 출력한다. 나의풀이 : n의 개수가 적기 때문에 완전탐색으로도 가능하나 동적 계획법 연습을 위해 동적계획법으로 풀어 보았다.4를 시작으로 -1 을 빼는 경우 -2를 빼는 경우 -3을 빼는 경우로 나뉘어서 재귀적 함수를 호출한다. 0이 만들어지면 경우의 수 1 반환, 0보다 작다면 0을 반환한다. 중복되어서 계산되는 경우는 메모이제이션을 통해 중복 방지한다. 코드 ( C ++ ) #include #include ..
-
[CentOS] yum repolist all 과 repolist: 0 오류 났을때?운영체제/이것이 리눅스다 2019. 7. 8. 21:12
나의 경우 yum info mysql-connector-odbc 를 리눅스 터미널에 입력하였으나 There are no enabled repos. Run "yum repolist all" to see the repos you have. You can enable repos with yum-config-manager --enable 제목과 같은 yum repolist all 과 repolist:0 이라고 나오면서 진행이 되지 않았다. 그래서 여러 사이트를 검색한 결과 알아내었는데 터미널에서 cd /etc/yum.repos.d/ 로 들어가주자 그후 ls -al을 입력해보면 다음과 같은 파일들이 나오는데 여기서 vim CentOS-Base.repo 을 입력하여 해당 파일을 수정해야 한다. 해당파일이 없다면 자..
-
백준(BOJ) 1463번 1로 만들기알고리즘 풀이/백준(Boj) 2019. 7. 8. 03:54
문제:https://www.acmicpc.net/problem/1463입력첫째 줄에 1보다 크거나 같고, 106보다 작거나 같은 정수 N이 주어진다.출력첫째 줄에 연산을 하는 횟수의 최솟값을 출력한다. 나의풀이 : 동적 계획법을 통해 풀었다. 런타임 에러가 나온다면 MAX에 0이 5개나 7개는 아닌지 봐보자. 코드 ( C ++ ) #include #include #include #include using namespace std;const int MAX = 10000000;int cache[MAX + 1];const int INF = 987654321;int solve(int x){int& ret = cache[x];if (ret != -1)return ret;if (x == 1) return 0; //..
-
백준(BOJ) 1158번 조세푸스 문제알고리즘 풀이/백준(Boj) 2019. 7. 8. 02:47
문제: https://www.acmicpc.net/problem/1158 나의풀이 : 중간과정에서의 삽입과 삭제가 쉬운 연결리스트를 이용하였다. 복잡도는 O(N * K) 입력첫째 줄에 N과 K가 빈 칸을 사이에 두고 순서대로 주어진다. (1 ≤ K ≤ N ≤ 5,000)출력예제와 같이 조세퍼스 순열을 출력한다. 코드 ( C ++ ) #include #include #include using namespace std;int N, K;int main(){cin >> N >> K;list people;vector result;for (int i = 1; i 0) {for (int i = 0; i < K - 1; ++i) { // 자기포함 K번만큼 돌면서 죽일 kill 포인터를 지정해준다.if (kill == ..
-
문제 06-1 연결 리스트를 이용한 스택의 또 다른 구현Data Structure/윤성우의 열혈 자료구조 2019. 7. 7. 04:00
문제 : 원형 연결리스트를 이용해서 스택을 구현해보자. // CLInkedList. h #include #include typedef struct _node{int data;struct _node * next;}Node; typedef struct _list{Node * head;Node * tail;Node * before;Node * cur;int numOfdata;}List; void InitList(List * plist){plist->tail = NULL;plist->numOfdata = 0;}void LInsert(List * plist, int data){Node * newnode = (Node*)malloc(sizeof(Node));newnode->data = data;if (plist->..