www.acmicpc.net/problem/4796 4796번: 캠핑 입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 테스트 케이스는 한 줄로 이루어져 있고, L, P, V를 순서대로 포함하고 있다. 모든 입력 정수는 int범위이다. 마지막 줄에는 0이 3개 주어진다. www.acmicpc.net 아이디어: (V // P)*L + If V%P > L: L If V%P L): ans = V//P*L + L else: ans = V..
알고리즘💻
www.acmicpc.net/problem/16206 16206번: 롤케이크 오늘은 재현이의 생일이다. 재현이는 친구 N명에게 롤케이크를 1개씩 선물로 받았다. 롤케이크의 길이는 A1, A2, ..., AN이다. 재현이는 길이가 10인 롤케이크만 먹는다. 따라서, 롤케이크를 잘라서 www.acmicpc.net 아이디어: 10으로 나누어 떨어지는 것부터 오름차순으로 정렬해서 잘라 나가야 최적해를 구할 수 있다. import sys n, m = map(int, sys.stdin.readline().split()) arr = list(map(int, sys.stdin.readline().split())) a = [] #10으로 나누어 떨어짐 b = [] #10으로 나누어 떨어지지 않음 ans = 0 #10으로..
www.acmicpc.net/problem/14659 14659번: 한조서열정리하고옴ㅋㅋ 첫째 줄에 봉우리의 수 겸 활잡이의 수 N이 주어진다. (1 ≤ N ≤ 30,000) 둘째 줄에 N개 봉우리의 높이가 왼쪽 봉우리부터 순서대로 주어진다. (1 ≤ 높이 ≤ 100,000) 각각 봉우리의 높이는 중복 없이 www.acmicpc.net 아이디어: 그리디 알고리즘 사용. import sys n = int(sys.stdin.readline()) arr = list(map(int, sys.stdin.readline().split())) m = arr[0] ans = 0 cnt = 0 for i in range (1,n): if (m < arr[i]): m = arr[i] ans = max(cnt, ans) c..