알고스팟
-
회전초밥 SUSHI알고리즘 풀이/알고리즘 해결전략 연습 2019. 8. 16. 17:34
문제: https://algospot.com/judge/problem/read/SUSHI 문제문제 풀이 내기에서 모인 벌금이 많이 쌓여서 알고스팟 운영진들은 회식을 하러 회전초밥집에 갔습니다. 회전초밥집에 들어선 운영진들은 초밥은 먹지 않고 전략 회의를 시작했습니다. 회전초밥집에는 n종류의 메뉴가 있는데, 운영진들은 각 메뉴에 대해 선호도를 매겼습니다.초밥계란연어장어대뱃살스테이크후라이드 치킨가격25003000400050001000015000선호도791012201운영진들은 주어진 예산 안에서 선호도의 합을 최대한으로 하도록 초밥을 먹고 싶습니다. 각 종류의 초밥은 무한정으로 공급된다고 가정합시다. 이 때 얻을 수 있는 최대한의 선호도는 얼마일까요? 코드 ( C ++ ) 종만북 참조 #include #inc..
-
소방차 FIRETRUCKS알고리즘 풀이/알고리즘 해결전략 연습 2019. 8. 15. 01:09
문제 : https://algospot.com/judge/problem/read/FIRETRUCKS 문제한겨울 날씨가 추워지면 각종 난방 기구 때문에 화재가 발생하기 쉽습니다. 어느 추운 겨울날 서울 시내 n개의 지역에 동시에 화재가 발생했습니다. 피해를 최소화하기 위해 가능한 한 빠르게 소방차를 파견해야 합니다. 서울 시내에는 m개의 소방서가 있습니다. 화재 장소에서 가장 가까운 소방서에서 소방차를 보낸다고 할 때, 각 화재 장소에 소방차가 도달하기까지 걸리는 시간의 합을 계산하는 프로그램을 작성하세요. 각 소방서에는 소방차가 충분히 많습니다.이 문제에서 서울 시내는 1부터 V까지 번호 붙여진 V개의 장소들과 이들을 연결하는 E개의 양방향 도로로 구성됩니다. 모든 도로에 대해 도로가 연결하는 두 장소의..
-
변화하는 중간 값알고리즘 풀이/알고리즘 해결전략 연습 2019. 8. 1. 01:49
문제 : https://algospot.com/judge/submission/recent/ 문제한 수열의 중간값(median)은 이 수열을 정렬했을 때 가운데 오는 값입니다. 예를 들어 {3,1,5,4,2}를 정렬했을 때 가운데 오는 값은 3이지요. 수열의 길이가 짝수일 때는 가운데 있는 두 값 중 보다 작은 것을 수열의 중간값이라고 정의하도록 합시다.한 수열의 중간값은 수열에 새로운 수가 추가될 때마다 바뀔 수 있습니다. 텅 빈 수열에서 시작해서 각 수가 추가될 때마다 중간값을 계산하는 프로그램을 작성하세요. 예를 들어 3, 1, 5, 4, 2 순서대로 숫자가 추가될 경우 수열의 중간값은 3, 1, 3, 3, 3 순서로 변화합니다. 코드 ( C ++ ) 종만북 참조 #include #include us..
-
숫자 게임알고리즘 풀이/알고리즘 해결전략 연습 2019. 7. 17. 06:13
문제 : https://algospot.com/judge/problem/read/NUMBERGAME 문제n개의 정수를 일렬로 늘어놓은 게임판을 가지고 현우와 서하가 게임을 합니다. 게임은 현우부터 시작해서 번갈아가며 진행하며, 각 참가자는 자기 차례마다 두 가지 일 중 하나를 할 수 있습니다.게임판의 왼쪽 끝에 있는 숫자나 오른쪽 끝에 있는 숫자 중 하나를 택해 가져갑니다. 가져간 숫자는 게임판에서 지워집니다.게임판에 두 개 이상의 숫자가 있을 경우, 왼쪽 끝에서 2개, 혹은 오른쪽 끝에서 2개를 지웁니다.게임은 모든 숫자가 다 없어졌을 때 끝나며, 각 사람의 점수는 자신이 가져간 숫자들의 합입니다. 현우와 서하는 점수가 더 낮은 쪽이 점수 높은 쪽에 한 점 차이마다 백 원씩 주기로 내기를 했습니다. 두..
-
Mismatched Brackets알고리즘 풀이/알고리즘 해결전략 연습 2019. 7. 10. 10:42
문제: https://algospot.com/judge/problem/read/BRACKETS2 입력The first line of the input will contain the number of test cases C (1≤C≤100) Each test is given in a single line as a character string. The strings will only include characters in "[](){}" (quotes for clarity). The length of the string will not exceed 10,000.출력For each test case, print a single line "YES" when the formula is well-matched; ..
-
여행 짐 싸기알고리즘 풀이/알고리즘 해결전략 연습 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 이하의 자연수입니다.출력각 테스트 케이스별 출력의 첫 줄에는 가져갈 수 있는 물건들의 최대 절박도 합과 가져갈 물건들의 개수를 출력합니다. 이후 한 줄에 하나씩 각 물건들의 이름을 출력합니..
-
삼각형 위의 최대 경로 수 세기알고리즘 풀이/알고리즘 해결전략 연습 2019. 7. 7. 00:23
문제 : https://algospot.com/judge/problem/read/TRIPATHCNT 코드 ( C ++ ) 종만북 참조 #include #include using namespace std;const int MAX = 100+1;int N;int triangle[MAX][MAX];int path[MAX][MAX];int cache[MAX][MAX]; int count(int y, int x){if (y == N - 1) return 1;int& ret = cache[y][x];if (ret != -1)return ret;ret = 0;if (path[y + 1][x + 1] >= path[y + 1][x]) ret += count(y + 1, x + 1);if (path[y + 1][x + ..