Algorithm (52) 썸네일형 리스트형 13305번 주유소 / 그리디 n = int(input()) #도시의 개수distence = list(map(int, input().split())) #도시간의 거리city = list(map(int, input().split())) #각 도시별 주유 비용cost = 0min_cost = city[0]for i in range(n-1): #거리 갯수만큼 반복 #현재 최소 비용보다 더 작다면 갱신 if min_cost > city[i]: min_cost = city[i] cost += min_cost * distence[i]print(cost) 자바 알고리즘 연습(1) 두 수의 나눗셈정수만 출력하는 부분에서 부동소수점형은 (지수, 가수)로 이루어져 있고 int형은 정수형이기 때문에 가수 부분을 버려서 정수 부분만 출력되는 것class Solution { public int solution(int num1, int num2) { int answer = 0; float n = (float) num1 / num2 * 1000; answer = (int) n; return answer; }} 잃어버린 괄호핵심은 '-' 괄호 이후에 모든 수들을 더해서 빼는 것1 + 2 + 8 - 9 +7 - 8 이라면 -> 1 + 2 + 8 - (9 + 7 -8)처럼 계산되게n = input().split('-') #-를 기준으로 리.. 10799번 쇠막대기 / 스택 자료구조 : 스택n = input()stack = []count = 0for i in range(len(n)): #"(" 라면 스택에 추가 if n[i] == "(": stack.append(n) #")" 라면 스택에서 쌍을 이루는 "("를 제거 후, stack의 길이만큼 조각 추가 else: stack.pop() #바로 앞의 값이 "("라면 문자열의 끝이 아니므로 길이만큼 추가 if n[i-1] == "(": count += len(stack) #문자열의 끝 else: count += 1print(count) 이 문제는 처음에 보고 쇠막대기랑 레이저 사진때문에 머리가 .. 1931번 회의실 배정 / 그리디 문제한 개의 회의실이 있는데 이를 사용하고자 하는 N개의 회의에 대하여 회의실 사용표를 만들려고 한다. 각 회의 I에 대해 시작시간과 끝나는 시간이 주어져 있고, 각 회의가 겹치지 않게 하면서 회의실을 사용할 수 있는 회의의 최대 개수를 찾아보자. 단, 회의는 한번 시작하면 중간에 중단될 수 없으며 한 회의가 끝나는 것과 동시에 다음 회의가 시작될 수 있다. 회의의 시작시간과 끝나는 시간이 같을 수도 있다. 이 경우에는 시작하자마자 끝나는 것으로 생각하면 된다. 자료구조 : 그리디, 정렬n = int(input())meeting = []for _ in range(n): start, end = map(int, input().split()) meeting.append((start, end))#회의.. 이전 1 ··· 4 5 6 7 다음