반응형
문제
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 값을 1로 end 값을 랜선의 최대 길이로 설정하여, 조건을 만족하는 최대길이를 찾아줍시다.
조건을 만족한다면, start 값을 mid 값 + 1로,
불만족 한다면 end 값을 mid 값 - 1 로 설정해주어서 찾을 수 있습니다.
소스코드
후기
이분 탐색에 대한 이해가 있다면 쉽게 풀 수 있는 문제입니다.
반응형
'PS > 백준' 카테고리의 다른 글
[BOJ] 백준 2110 공유기 설치 (Swift) (0) | 2023.04.13 |
---|---|
[BOJ] 백준 2805 나무 자르기 (Swift) (0) | 2023.04.13 |
[BOJ] 백준 1920 수 찾기 (Swift) (0) | 2023.04.12 |
[BOJ] 백준 11444 피보나치 수 6 (Swift) (0) | 2023.04.12 |
[BOJ] 백준 10830 행렬 제곱 (Swift) (0) | 2023.04.12 |