μ΄λΆ κ²μ
π λ¬Έμ
μμμ Nκ°μ μ«μκ° μ λ ₯μΌλ‘ μ£Όμ΄μ§λλ€.
Nκ°μ μλ₯Ό μ€λ¦μ°¨μμΌλ‘ μ λ ¬ν λ€μ
Nκ°μ μ μ€ ν κ°μ μμΈ Mμ΄ μ£Όμ΄μ§λ©΄
μ΄λΆκ²μμΌλ‘ Mμ΄ μ λ ¬λ μνμμ λͺ λ²μ§Έμ μλμ§ κ΅¬νλ νλ‘κ·Έλ¨μ μμ±νμΈμ.
λ¨ μ€λ³΅κ°μ μ‘΄μ¬νμ§ μμ΅λλ€.
β£ μ λ ₯μ€λͺ
첫 μ€μ ν μ€μ μμ°μ N(3<=N<=1,000,000)κ³Ό Mμ΄ μ£Όμ΄μ§λλ€.
λ λ²μ§Έ μ€μ Nκ°μ μκ° κ³΅λ°±μ μ¬μ΄μ λκ³ μ£Όμ΄μ§λλ€.
β£ μΆλ ₯μ€λͺ
첫 μ€μ μ λ ¬ ν Mμ κ°μ μμΉ λ²νΈλ₯Ό μΆλ ₯νλ€.
β£ μ λ ₯μμ
8 32
23 87 65 12 57 32 99 81
β£ μΆλ ₯μμ
3
π§ νμ΄
λ보기
νμ΄
# μ
λ ₯: 첫 μ€μ μμ°μ n, m, λ λ²μ§Έ μ€μ nκ°μ μκ° κ³΅λ°±μ μ¬μ΄μ λκ³ μ£Όμ΄μ§
# μΆλ ₯: 첫 μ€μ μ λ ¬ ν mμ κ°μ μμΉ λ²νΈλ₯Ό μΆλ ₯
n, m = map(int, input().split()) # n, m μ
λ ₯ λ° ν λΉ
n_list = list(map(int, input().split())) # μ«μ 리μ€νΈ μ
λ ₯ λ° ν λΉ
n_list = sorted(n_list) # n_list μ€λ¦μ°¨μ μ λ ¬
c = 0 # μμ λ΄μ c ν λΉ
for i in n_list: # n_list μμ λ°λ³΅
c += 1 # c 1μ© μ¦κ°
if i == m: # λ§μ½ iκ° mμ΄λ©΄
print(c) # c μΆλ ₯
break # λ°λ³΅λ¬Έ μ’
λ£
λ€λ₯Έ μ¬λ νμ΄
# μ΄λΆκ²μ
'''
lt, rt
0 1 2 3 4 5 6 7
12 23 32 57 65 81 87 99
mid = (lt + rt) // 2
3 = mid
a[mid] == m
rt = mid - 1
lt = mid + 1
μ λ°μ© μ’ν λκ°
1 = mid
lt, rt = 2
λ§μ½ 1024κ°μ λ°μ΄ν°κ° μλ€λ©΄
512κ°λ‘ μ€μ΄λ¦
256μΌλ‘ μ λ°μΌλ‘ μ€μ΄λ¦
128μ© μμμ§λ©΄
μ΄λΆκ²μ log nλ²λ§μ λλ€.
'''
n, m = map(int, input().split())
a = list(map(int, input().split()))
a.sort()
lt = 0
rt = n-1
while lt <= rt:
mid = (lt + rt) // 2
if a[mid] == m:
print(mid + 1)
break
elif a[mid]>m:
rt = mid - 1
else:
lt = mid + 1
'𧩠Algorithm > π¨ Python' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[νμ΄μ¬] λ°±μ€ 10828λ² λ¬Έμ : μ€ν (0) | 2022.08.09 |
---|---|
[νμ΄μ¬ μκ³ λ¦¬μ¦] λμ μλ₯΄κΈ°(κ²°μ μκ³ λ¦¬μ¦) (0) | 2022.08.01 |
[νμ΄μ¬ μκ³ λ¦¬μ¦] 격μν νλ¬Έμ (0) | 2022.07.26 |
[νμ΄μ¬ μκ³ λ¦¬μ¦] μ€ν μΏ κ²μ¬ (0) | 2022.07.26 |
[νμ΄μ¬ μκ³ λ¦¬μ¦] λ΄μ°λ¦¬ (0) | 2022.07.26 |