ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 278. First Bad Version
    릿코드(LEETCODE) 2020. 5. 2. 16:58
    반응형

     

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

     

    당신은 제품 관리자이며 현재 새 제품 개발 팀을 이끌고 있다. 

    불행히도 당신의 최근 제품은 품질 검사를 통과하지 못했다.

    각 버전은 이전 버전 기반으로 개발되었음으로 불량 버전 이후의 모든 보전도 불량이다. 

     

    // TODO

    이문제는 첫 번째 불량이 발생하는 새제품을 찾는 문제인대 문제의 조건을 봐서는 어디 부터 접근해야 하는지 알 수가 없었다. Topic 에서 binary-search 나와서 접근해서 풀긴 했지만 문제 정의가 조금 아쉬운 문제다.

     

    // The API isBadVersion is defined for you.
    // bool isBadVersion(int version);
    
    class Solution {
    public:
        
        // 이문제는 첫번째 불량버전을 찾는 문제인대
        // 여기서 binaray search 로 접근하는 접근법이 애매하다.
        // 무슨 기준인지 모르겠다 문제의 의도를 알수 없다.
        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;
        }
    };

     

     

    반응형

    '릿코드(LEETCODE)' 카테고리의 다른 글

    485. Max Consecutive Ones  (0) 2020.05.02
    jewels and stone  (0) 2020.05.02
    283. Move Zeroes  (0) 2020.04.09
    53. Maximum Subarray  (0) 2020.04.09
    202. Happy Number  (0) 2020.04.09

    댓글

Designed by Tistory.