728x90
https://www.acmicpc.net/problem/1253
ㅎㅎ 이분탐색으로 쉽게 풀리는 문제이다 ~
다만 target 이 되는 숫자는 당연히 조합에 사용하지 못하므로 index를 조절해주는 것이 필요하다 ~~
n = int(input())
array = list(map(int, input().split()))
array.sort()
answer = 0
def solve(target):
global answer
left, right = 0, n - 1
while left < right:
if i == left:
left += 1
continue
if i == right:
right -= 1
continue
temp = array[left] + array[right]
if target > temp:
left += 1
elif target < temp:
right -= 1
else: # target == temp
return True
return False
for i in range(n):
target = array[i]
if solve(target):
answer += 1
print(answer)
728x90
'Algorithm (PS)' 카테고리의 다른 글
[백준] 20444번: 색종이와 가위 (파이썬/Python) - 이진탐색 (0) | 2022.12.09 |
---|---|
[백준] 20164번 : 홀수 홀릭 호석 (파이썬/Python) - 구현, 브루트포스 (0) | 2022.12.09 |
[백준] 1890번 점프 (파이썬/Python) - DP (0) | 2022.12.09 |
[백준] 18430 무기공학 파이썬/Python (0) | 2022.12.03 |
[백준] 6443 애너그램 (Python 파이썬 풀이) (0) | 2022.12.02 |