본문 바로가기
Beakjoon&프로그래머스/파이썬

[백준/파이썬] 1940번 주몽

by 현장 2022. 5. 10.

-Code

n = int(input())
m = int(input())
num = sorted(list(map(int, input().split())))
cnt = 0
start, end = 0, n - 1
Sum = 0
while start < end:
    Sum = num[start] + num[end]
    if Sum == m:
        cnt += 1
        start += 1
        end -= 1
    elif Sum > m:
        end -= 1
    else:
        start += 1

print(cnt)

for문 만들던 방식으로 While을 만드니 시간 초과가 되어 시간을 어떻게 줄일지 몰라서 수식을 찾아봤습니다. sort까지는 맞았으나 첫값과 끝값을 비교하여 계산하는 수식을 사용하는 것을 보고 해결을 하였으나 많이 아쉬운 문제였습니다.