본문 바로가기

Algorithm/Algospot

JUMPGAME 문제 :https://algospot.com/judge/problem/read/JUMPGAME 배열에서 해당 위치의 값 만큼 오른쪽이나 아래쪽으로 이동하여 배열의 마지막 부분으로 이동하는 것이 가능한지 아닌지를 구하는 프로그램인데, 기존의 재귀 호출을 이용하여 (0, 0)에서 (N-1, N-1)의 위치로 탐색 하게 되면 목적지로 가지 않는 이동 경로도 탐색 하기 때문에 많은 시간을 필요로 한다.그렇기 때문에 (N-1, N-1)에서 (0, 0)으로 반대로 탐색하게 되면 목적지로 향하는 알맞은 값을 탐색해 나가기 때문에 시간을 단축하고 원하는 결과를 얻을 수 있다. 출력 결과: 알고스팟 결과: #include using namespace std; bool move(int(*arr)[100], int _i, .. 더보기
YULO 문제 : https://algospot.com/judge/problem/read/YULON개의 정수 값을 받아서 정렬 알고리즘을 이용하여 내림차순 혹은 오름차순으로 정렬을 한다.정 가운데를 중심으로 0번째와 N번째, 1번째와 N-1번째, 2번째와 N-2번째 이런식으로 순차적으로 두수의 평균을 구하고 그중 가장 높은 값을 구한다.만약 수가 홀수개이면 정 가운데의 값을 위의 계산 방법으로 구한 가장 큰 수와 비교하여 높은 값을 구한다.출력 형태를 맞추기 위하여 printf를 이용하여 출력한다. 출력 결과:알고스팟 결과:#include #include using namespace std; int compare(const void *a, const void *b){ int *pa = (int *)a, *pb =.. 더보기
MAGICPOWER 문제 : https://algospot.com/judge/problem/read/MAGICPOWER문제에서 N개(1 N >> M; for (int i = 0; i > num; if (max < num) max = num; magic[num]++; } int no = 0; while (no < M){ if (max == 0) break; if (magic[max] != 0){ sum += max; magic[max]--; magic[max - 1]++; no++; } else max--; } cout 더보기