목록알고리즘 유형별 기출문제/그리디 (3)
컴공생 누르지 마세요! 컴공생 울어요.

2019 카카오 기출 - 무지의 먹방 라이브 입출력 예시 소스코드 모든 음식을 시간 기준으로 정렬한 뒤, 시간이 적게 걸리는 음식부터 제거해 나가는 방식 우선순위 큐 이용 import heapq def solution(food_times, k): # 전체 음식을 먹는 시간보다 k가 크거나 같으면 -1 if sum(food_times)
이코테 p.312 곱하기 혹은 더하기 주어진 문자열의 각 자릿수에 더하기 혹은 곱하기 연산을 하여 만들 수 있는 최댓값 구하기 입력 예시 (1) 02984 출력 예시 (1) 576 입력 예시 (2) 02084 출력 예시 (2) 64 소스코드 피연산자 중 하나가 0 or 1이면 더하기 연산이 유리하고, 그 외에는 곱하기 연산이 유리함 # 입력받기 s = input() array = [] # 문자열을 리스트로 변환 for i in range(len(s)): array.append(int(s[i])) result = array[0] # 최종 결과값 for i in range(1, len(array)): # 피연산자 중 하나가 1보다 작은 경우 더하기 연산 if result
이코테 p.311 모험가 길드 입력 예시 5 2 3 1 2 2 출력 예시 2 소스코드 그룹 수를 최대화하려면 그룹 내 인원을 최소화해야 함 공포도를 오름차순으로 정렬한 후, 가장 작은 공포도를 가진 사람부터 그룹 구성 현재의 공포도만큼 그룹에 사람 추가 현재 그룹의 사람 수가 현재의 공포도보다 크거나 같아지면 그룹 수 +1 & 그룹 초기화 # 입력 받기 n = int(input()) array = list(map(int, input().split())) # 오름차순으로 정렬 array.sort() result = 0 # 총 그룹 수 count = 0 # 현재 그룹의 사람 수 for fear in result: count += 1 # 그룹에 사람 1명 추가 if count >= fear: # 현재 그룹의 ..