728x90
<문제 링크>
https://leetcode.com/problems/first-bad-version/
<문제 풀이>
- 원소의 값이 크기 때문에 이분 탐색으로 정답을 찾아야 함
<코드>
# The isBadVersion API is already defined for you.
# @param version, an integer
# @return an integer
# def isBadVersion(version):
class Solution:
def firstBadVersion(self, n):
"""
:type n: int
:rtype: int
"""
start = 0
end = n-1
while start<=end:
mid = (start+end)//2
if isBadVersion(mid)==True:
end = mid-1
else:
start = mid+1
return start
<고쳐야 할 점>
- 첫 번째 불량을 찾아야 해서 visit []으로 검사를 했지만 시간 초과가 났다. 그냥 이분 탐색이 끝날 때까지 계속 불량을 찾은 후 start를 찾으면 되는 것이었다..
'두두의 알고리즘 > 문제' 카테고리의 다른 글
[정렬] 릿코드 Easy 977 'Squares of a Sorted Array' (Python) (0) | 2022.01.12 |
---|---|
[이분탐색] 릿코드 Easy 35 'Search Insert Position' (Python) (0) | 2022.01.11 |
[이분탐색] 릿코드 Easy 704 'Binary Search' (Python) (0) | 2022.01.10 |
[순열과 조합] 백준 1759번 '암호 만들기' (Python) (0) | 2021.12.22 |
[소수의 판별] 백준 1929번 '소수 구하기' (Python) (0) | 2021.12.22 |