알고리즘 문제들 으악/백준

[python]18111번 마인크래프트,인덱싱도 시간이 걸린다&1초는 1억번

빈나 2022. 12. 31. 23:54
반응형

시간복잡도를 계산할때 약 1억번의 연산이 1초 정도 걸린다. 

따라서 시간제한이 1초인 문제는 연산의 마지노선을 1억번으로 예상할 수 있다는것을 알았다.

 

이 문제이서는 257층탐색*가로(최대 

 

그리고 리스트 값을 탐색시 인덱싱보다도 in 으로 값을 찾는거 더 빠르다는 것도 알게 되었다.

for i in range(10):
	for j in range(10):
    	print(stg[i][j])
        #이것 보다는
for i in list:
	for j in i:
    	print(j)
        #이것이 빠르다
import sys
row,clmn,inv = map(int,input().split())
stg = []
for i in range(row):
    stg.append(list(map(int,input().split())))
rst = [10**10,0]
for i in range(257):
    tmp = inv
    time = 0
    for j in stg:
        for k in j:
            if k>i:    #깎을 때
                tmp+=k-i
                time +=(k-i)*2
            elif k<i:       #놓을 때
                tmp-=i-k
                time +=i-k
    if tmp>=0:
        if rst[0]>=time:
            rst[0] = time
            if rst[1]<i:
                rst[1] = i
    continue
print(*rst)
반응형