본문 바로가기

PS/백준

[BOJ] 백준 1654 랜선 자르기 (Swift)

반응형

문제

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

 

1654번: 랜선 자르기

첫째 줄에는 오영식이 이미 가지고 있는 랜선의 개수 K, 그리고 필요한 랜선의 개수 N이 입력된다. K는 1이상 10,000이하의 정수이고, N은 1이상 1,000,000이하의 정수이다. 그리고 항상 K ≦ N 이다. 그

www.acmicpc.net

풀이

조건을 만족하는 최대 값을 구하기 때문에 매개변수 탐색이라고 할 수 있습니다.

랜선들을 x로 나눈 몫의 합랜선을 만들 수 있는 갯수입니다.
이 몫의 합이 n보다 크거나 같다면, 조건을 만족하게 됩니다.

이것을 함수로 작성을 해주었고,
start 값을 1end 값을 랜선의 최대 길이로 설정하여, 조건을 만족하는 최대길이를 찾아줍시다.

조건을 만족한다면, start 값을 mid 값 + 1로,
불만족 한다면 end 값을 mid 값 - 1 로 설정해주어서 찾을 수 있습니다.

소스코드

후기

이분 탐색에 대한 이해가 있다면 쉽게 풀 수 있는 문제입니다.

반응형