어디까지 갈 수 있을까?

이진탐색 문제 본문

알고리즘/이것이취업을위한코딩테스트다

이진탐색 문제

_Min 2021. 2. 19. 20:19

27. 정렬된 배열에서 특정 수의 개수 구하기

1
2
3
4
5
6
7
8
import sys
from bisect import bisect_left, bisect_right
input=sys.stdin.readline
 
n, x=map(int, input().split())
arr=list(map(int, input().split()))
 
print(bisect_right(arr, x)-bisect_left(arr, x))
cs

 

 

28. 고정점 찾기

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
import sys
input=sys.stdin.readline
 
n=int(input().rstrip())
arr=list(map(int, input().split()))
 
start=0
end=len(arr)-1
check=0
while start<=end:
    mid=(start+end)//2
    if arr[mid]==mid:
        print(mid)
        check=1
        break
    elif arr[mid]<mid:
        start=mid+1
    else:
        end=mid-1
 
if check==0:
    print(-1)
cs

 

 

 

 

 

 

출처 : 이것이 취업을 위한 코딩 테스트다 with 파이썬 (나동빈 저)

728x90

'알고리즘 > 이것이취업을위한코딩테스트다' 카테고리의 다른 글

다이나믹 프로그래밍 문제  (0) 2021.02.22
chapter 8. 다이나믹 프로그래밍  (0) 2021.02.22
chaper 7. 이진 탐색  (0) 2021.02.19
정렬 문제  (0) 2021.02.17
chapter 6. 정렬  (0) 2021.02.15
Comments