on my way
[백준 1940번] 주몽 (Python3, 실버4) 본문
반응형
import sys
N = int(sys.stdin.readline())
M = int(sys.stdin.readline())
num = sorted(map(int, sys.stdin.readline().split()))
start, end, answer = 0, N-1, 0
while start < end:
if num[start] + num[end] == M:
answer += 1
start += 1
end -= 1
elif num[start] + num[end] < M:
start += 1
else:
end -= 1
print(answer)
배열 정렬 후, 투 포인터로 합을 구한다.
start, end 두 포인터가 만나면 종료
두 수의 합이 M보다 작으면 작은 수를 늘려야 M에 가까워지고,
두 수의 합이 M보다 크면 큰 수를 줄여야 M에 가까워지는 것을 이용
반응형
'algorithm > Python' 카테고리의 다른 글
[프로그래머스 코딩테스트 연습] 자연수 뒤집어 배열로 만들기 (Python3) (0) | 2025.01.13 |
---|---|
[백준 1253번] 좋다 (Python3, 골드4) (0) | 2025.01.13 |
[백준 2018번] 수들의 합 5 (Python3, 실버5) (0) | 2025.01.13 |
[프로그래머스 코딩테스트 연습] 연속 펄스 부분 수열의 합 (Python3) Lv3 (1) | 2024.09.13 |
[프로그래머스 도서실습 내일은 코딩테스트] 파트1.문자열 다루기 : 문자열 나누기 (Python3) (1) | 2024.09.01 |