728x90
반응형
그리디 알고리즘
당장 좋은 것-이득인 것 먼저 선택
큰 수의 법칙
n,m,k=map(int,input().split())
data=list(map(int,input().split()))
data.sort()
f=int(data[n-1])
s=int(data[n-2])
result=0
while True:
for i in range(k):
if m==0:
break
result+=f
m-=1
if m==0:
break
result+=s
m-=1
print(result)
횟수 계산해서도 풀이 가능
n,m,k=map(int,input().split())
data=list(map(int,input().split()))
data.sort()
f=int(data[n-1])
s=int(data[n-2])
result=0
count=(m//(k+1))*k
count+=m%(k+1)
result+=count*f
result+=(m-count)*s
print(result)
숫자카드게임
n,m=map(int,input().split())
data=[list(map(int,input().split()))for i in range(n)]
result=min(data[0])
for i in range(1,n):
if result<min(data[i]):
result=min(data[i])
print(result)
입력과 동시에 min 찾으면서도 가능
n,m=map(int,input().split())
result=0
for i in range(n):
data=list(map(int,input().split()))
min_value=min(data)
result=max(result,min_value)
print(result)
1이 될 때까지
n,k=map(int,input().split())
count=0
while n!=1:
if n%k==0:
n/=k
count+=1
else:
n-=1
count+=1
print(count)
반응형
'Algorithm > 개념' 카테고리의 다른 글
최단거리&다익스트라 알고리즘 개념 (0) | 2022.05.05 |
---|---|
다이나믹 프로그래밍 개념과 예제 (0) | 2022.05.04 |
기본정렬알고리즘(선택정렬, 버블정렬, 삽입정렬) (0) | 2021.07.12 |
구현알고리즘 (0) | 2021.07.12 |