-Code
import sys
input = sys.stdin.readline
n, m = map(int, input().split())
j = [int(input()) for _ in range(m)]
left, right = 1, max(j)
while left <= right:
cnt = 0
mid = (left + right) // 2
for i in j:
cnt += i // mid
if i % mid != 0:
cnt += 1
if cnt > n:
left = mid + 1
else:
right = mid - 1
print(left)
처음에는 최대 질투심을 구하기위해 max값을 넣어서 작성을 했습니다. 하지만 if문 작성과 max값을 사용하는 방법이 이상해서 틀린분 부분에 대한 내용을 찾아보니 굳이 max를 사용할 필요도 없고 left값을 가져오면 됐고 if문도 조금만 고치면 되어서 해결이 되었습니다.
'Beakjoon&프로그래머스 > 파이썬' 카테고리의 다른 글
[백준/파이썬] 17451번 평행 우주 (0) | 2022.05.20 |
---|---|
[백준/파이썬] 15810번 풍선 공장 (0) | 2022.05.20 |
[백준/파이썬] 13702번 파닭파닭 (0) | 2022.05.19 |
[백준/파이썬] 13702번 이상한 술집 (0) | 2022.05.19 |
[백준/파이썬] 16401번 과자 나눠주기 (0) | 2022.05.19 |