728x90
SMALL
n = int(input())
m = int(input())
nums = sorted(map(int, input().split()))
left, right = 0, n-1
count = 0
while left < right:
current_sum = nums[left] + nums[right]
if current_sum == m:
count += 1
left += 1
right -= 1
elif current_sum < m:
left += 1
else:
right -= 1
print(count)
- 기본적인 투 포인터(Two Pointer) 문제였습니다.
- 투 포인터(Two Pointer) 알고리즘에 관한 설명은 제가 예전에 써놓은 알고리즘 포스팅에도 있으니 좀 더 알고 관심 있으시다면 보시는 걸 추천! 👍🏻
728x90
LIST
'알고리즘 문제 > 랜덤 마라톤 (solved.ac)' 카테고리의 다른 글
🥉 29720번: 그래서 님 푼 문제 수가? (0) | 2024.07.10 |
---|---|
🥈 14426번: 접두사 찾기 (1) | 2024.07.09 |
🥈 22935번: 이진 딸기 (0) | 2024.07.05 |
🥈 25193번: 곰곰이의 식단 관리 (0) | 2024.07.04 |
🥉 13235번: 팰린드롬 (0) | 2024.07.03 |