모눈종이에 사각사각

[백준 1654] 랜선 자르기 본문

CodingTest/Baekjoon

[백준 1654] 랜선 자르기

모눈종이씨 2022. 2. 23. 17:33

🍎 [백준 1654] 랜선 자르기

문제링크

https://www.acmicpc.net/problem/1654

 

이전에 풀었던 2805번 나무 자르기 문제와 굉장히 유사한 문제였다.

 

⚾ 코드

import sys

k, n = map(int, input().split())
array = [int(sys.stdin.readline()) for _ in range(k)]

start = 1
end = max(array)

while start <= end:
    mid = (start+end)//2

    remain = 0
    for i in array:
        remain += i//mid

    if remain < n:
        end = mid-1
    else:
        start = mid+1

print(end)

 

🔔 해결 과정 & 깨달은 점

- 이진 탐색 알고리즘을 적용하여 풀었다.

- 코드도 잘 적고, 이진 탐색도 잘 적용 했으며, 결과도 잘 나오는데 왜 자꾸 런타임 에러가 나는가...! 정말 몇 시간을 고민했다. 고민을 계속하다가 결국 안되겠어서 다른 분 풀이를 보니, 다른 점이 딱 하나, start = 1이 아닌 start = 0으로 적은 것이다.. 탐색 범위가 클 때에는 변수에 숫자를 잘 할당 해야 겠다고 느꼈던 문제이다.

'CodingTest > Baekjoon' 카테고리의 다른 글

[백준 1707] 이분 그래프  (0) 2022.03.18
[백준 1697] 숨바꼭질  (0) 2022.03.16
[백준 2805] 나무 자르기  (0) 2022.02.23
[백준 2294] 동전2  (0) 2022.02.20
[백준 11727] 2×n 타일링 2  (0) 2022.02.20
Comments