본문 바로가기
728x90
반응형

알고리즘34

[백준] 1654 랜선자르기 (이분탐색) How to solve 이분탐색으로 푸는 문제! 주의할점...!? left 를 0으로 두면 모든 랜선 길이가 1일 때 mid가 0이 되므로, 0으로 나누는 경우가 생긴다. 따라서 left는 1로! (계속 런타임 에러가 나서 고생하다가 친구의 도움으로 해결 ㅠㅠ) 1. 랜선의 길이를 입력 받아 vector v에 저장한다 2. 최대의 랜선 길이를 maxA에 넣는다 3. 최소 랜선길이(ll)은 1로, 최대 랜선길이 rr은 maxA로 초기화한다 4. 최소랜선길이 ll 이 최대 랜선길이 rr 보다 커지면 종료! 5. ll과 rr의 중간값을 변수 mid로 두고, 랜선을 mid로 잘라가며 sum에 랜선의 갯수를 저장한다 6. 랜선 갯수 sum이 필요한 랜선의갯수 N보다 작으면 rr을 mid-1로 초기화한다. 7. 랜.. 2020. 8. 25.
[백준] 2085 나무자르기 (이분탐색) How to solve 이 문제는 이분탐색으로 푸는 문제이다! 자세한 풀이는 다음과 같다 1. vector(v) 에 통나무 저장 2. 초기 left(ll)은 0이고, right(rr)은 max로 초기화 3. left(ll) 와 right(rr) 의 중간 값(mid)을 두고 통나무를 mid기준으로 잘라 sum 에 저장 4. 이분탐색으로 sum과 통나무 길이 M과 비교함 5. M이 더 크다면 더 작은 값을 탐색하고, M이 작다면 더 큰 결과 값을 탐색 Problem 문제 상근이는 나무 M미터가 필요하다. 근처에 나무를 구입할 곳이 모두 망해버렸기 때문에, 정부에 벌목 허가를 요청했다. 정부는 상근이네 집 근처의 나무 한 줄에 대한 벌목 허가를 내주었고, 상근이는 새로 구입한 목재절단기를 이용해서 나무를 구할.. 2020. 8. 24.
728x90
반응형