-코드
n, m, b = map(int, input().split())
block = []
time, height = 100000000000000000000, 0
for _ in range(n):
block += list(map(int, input().split()))
for i in range(min(block), max(block) + 1):
block_t = 0
block_i = b
for j in block:
if j > i:
block_t += (j - i) * 2
block_i += j - i
elif j < i:
block_t += (i - j)
block_i -= (i - j)
if block_i >= 0:
if time >= block_t:
time = block_t
height = i
print(time, height)
계속해보니까 걸리던 게 처음에는 입력값을 다 더한 후에 i에 n * m을 곱해서 빼주는 식으로 했으나 잘 되지 않아서 각각을 계산해주는 것으로 바꾸어서 3일간 고민해서 해봤으나 같은 시간일 때, 큰 값을 출력하는 것을 빼먹어서 친구에게 물어봐서 알게 된 후 해결을 해였습니다. 하지만 시간 초과가 생겨서 pypy로 제출하였습니다.
'Beakjoon&프로그래머스 > 파이썬' 카테고리의 다른 글
[프로그래머스/파이썬] 3진법 뒤집기 (1) | 2021.05.22 |
---|---|
[백준/파이썬]10808번 알파벳 개수 (0) | 2021.05.21 |
[백준/파이썬]9093번 단어 뒤집기 (0) | 2021.05.20 |
[백준/파이썬]1934번 최소공배수 (0) | 2021.05.20 |
[백준/파이썬]10829번 이진수 변환 (0) | 2021.05.19 |