사용언어: python3
문제 : [링크 www.acmicpc.net/problem/2798]
내가 푼 답
def solution(n, m)-> int:
cards = list(map(int, input().split()))
cards.sort()
result = 0
for i in range(n-2):
left, right = i+1, len(cards)-1
while left < right:
sum = cards[i]+cards[left]+cards[right]
if m == sum:
return sum
elif m < sum:
right -= 1
else: # sum < m
if result < sum:
result = sum
left += 1
return result
n, m = map(int, input().split())
print(solution(n, m))
투포인터를 이용해서 풀어보았다.
'알고리즘 테스트' 카테고리의 다른 글
[백준 2751번] 수 정렬하기2 (Python) (0) | 2021.01.19 |
---|---|
[백준 11047번] 동전 0 (Python) (0) | 2021.01.15 |
[프로그래머스] 예산 (0) | 2020.12.10 |
[프로그래머스] 서울에서 김서방 찾기 (0) | 2020.12.10 |
[프로그래머스] 문자열 다루기 기본 (0) | 2020.12.10 |