본문 바로가기

Leetcode 100문제 도전

[Leetcode 11/100] First Bad Version - Easy

leetcode.com/problems/first-bad-version/

 

First Bad Version - LeetCode

Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview.

leetcode.com

문제 풀이 방식

Binary Search 활용,

이 문제에서는 isBadVersion이라는 API를 제공해주므로 활용해서 풀면 된다.

주의할 점

완전 탐색으로 LInear 시간 만큼 탐색하게 되면 TLE를 볼 수 있다.

소스코드

/* The isBadVersion API is defined in the parent class VersionControl.
      boolean isBadVersion(int version); */

public class Solution extends VersionControl {
    public int firstBadVersion(int n) {
        
        int left = 1;
        int right = n;
        
        while(left < right){
            int mid = left + (right-left)/2;
            if(isBadVersion(mid)){
                right = mid;
            } else {
                left = mid + 1;
            }
            
        }
        return left;
        
    }
}