GreatAlgorithm-Study / AlgorithmStudy

🌟알고리즘 대장정🌟
6 stars 4 forks source link

[4주차_수요일] 1477_휴게소 세우기 #40

Closed yeahdy closed 1 month ago

yeahdy commented 1 month ago
Jewan1120 commented 1 month ago

🤔 시간복잡도 고려사항

💡 풀이 아이디어

비교적 최근에 한번 풀어봤던 문제라 빨리 접근할 수 있었습니다🐹

baexxbin commented 1 month ago

🤔 시간복잡도 고려사항


💡 풀이 아이디어

스터디하면서 연습했던 이분탐색 문제 유형!

canBuild()함수에서 return cnt>M; 조건에 =여부 때문에 시간이 시간이 오래걸렸다..! 이분탐색에서 조건 확인 잘하기!! 그리고 계산의 문제인지, 그냥 ans값을 반환하면 값이 -1 적게 나와서 ans+1값으로 반환해주었습니다..!

KodaHye commented 1 month ago

🤔 시간복잡도 고려사항

완전 탐색으로 문제 풀이를 한다면 1000C100의 경우가 발생할 수 있음. 완전 탐색이 아닌 다른 방법으로 문제풀이해야 함 이진 탐색으로 풀이한다면 O(log1000)로 풀이 가능


💡 풀이 아이디어

문제에서 요구하는 사항에 따라 upperIdx를 구해야되는지, lowerIdx를 구해야되는지 적절하게 따지고 구하기!

yeongleej commented 1 month ago

🤔 시간복잡도 고려사항

💡 풀이 아이디어

처음에는 단순하게 우선순위 큐를 사용해서 간격의 1/2 지점에 설치할려고 했지만, 휴게소는 여러개 설치될 수 있기 때문에 이는 잘못된 문제 이해였습니다,,,, 문제를 좀 더 꼼꼼히 읽고, 이분탐색 제어 함수와 lower bound, upper bound 찾는 방법을 더 공부해야 할 것 같습니다.... ㅎㅎㅎ

icegosimperson commented 1 month ago

🤔 시간복잡도 고려사항 완전 탐색 시 시간 복잡도 : 950C2 (현재 휴개소가 있는 위치 제외) -> 너무 큼 이분 탐색으로 시간 복잡도를 줄여줘야함 -> O(log N)

💡 풀이 아이디어 휴게소가 없는 구간의 최댓값의 최솟값을 출력하는 문제 최댓값의 최솟값을 갱신하며 적절한 휴게소의 위치를 찾아야함 -> 이분 탐색

  1. 고속도로의 시작점(left) = 0 ~ 고속도로 끝점(right) L 탐색
  2. mid 값 기준으로 각 구간을 나누고, mid 값 이하로 만들기 위해 cnt(필요한 휴게소 개수)를 계산.
  3. cnt > M일 때, left = mid + 1로 범위를 좁혀 더 큰 구간을 탐색. cnt <= M일 때, right = mid - 1로 범위를 좁혀 더 작은 구간을 탐색.
  4. 탐색 종료 후 최종 값 left 반환
yeahdy commented 1 month ago

🤔 시간복잡도 고려사항

💡 풀이 아이디어

KodaHye commented 1 month ago

매개변수, 이분탐색 공부해보고 얘기해보기

이제까지 문제 푼 것들 범위설정 어떻게 했는지 생각해보고, 얘기하는 시간 갖기