[이코테] 그리디문제 정리

EunBi Na·2022년 11월 16일
0

모험가 길드

n=int(input())
data= list(map(int, input().split()))
data.sort()

result = 0
count = 0

for i in data:
	count += 1
    if count >= i:
    	result += 1
        count = 0
print(result)

곱하기 혹은 더하기

data = input()

result = int(data[0])
for i in range(1, len(data)):
	num = int(data[i])
    if num <= 1 or result <= 1:
    	result += num
    else:
    	result += num
print(result)

문자열 뒤집기

data = input()
count0 = 0
count1 = 0

if data[0] == '1':
	count0 += 1
else:
	count1 += 1
    
for i in range(len(data) - 1):
	if data[i] != data[i+1]:
    	if data[i+1] == '1':
        	count0 += 1
        else:
        	count1 += 1
print(min(count0, count1))

만들 수 없는 금액

n = int(input())
data =list(map(int, input().split())
data.sort()

target = 1
for x in data:
	if target < x:
    	break
    target += x
    
print(target)

볼링공 고르기

n, m = map(int, input().split())
data = list(map(int, input().split()))

array = [0] * 11
for x in data:
	array[x] += 1
    
result = 0
for i in range(1, m + 1):
	n -= array[i]
    result += array[i] * n
    
print(result)
profile
This is a velog that freely records the process I learn.

0개의 댓글