STUDY/Algorithm
[백준] 3649 로봇 프로젝트 python
sinawi95
2022. 5. 23. 20:20
728x90
https://www.acmicpc.net/problem/3649
투 포인터 문제이고 어렵진 않았다.
다만, try except를 사용해서 에러를 캐치해야하는게 별로 좋지 않은 문제인듯 하다.
import sys; input = sys.stdin.readline
def main():
while(1):
try:
# 0 input
x = int(input()) * 10**7
n = int(input())
nums = [int(input()) for _ in range(n)]
# 1 sort
nums.sort()
# 2 two pointer
i = 0
j = n - 1
flag = False
while (i < j):
if nums[i] + nums[j] == x:
flag = True
break
elif nums[i] + nums[j] < x:
i+=1
else:
j-=1;
# 3 output
if flag:
print("yes", nums[i], nums[j])
else:
print("danger")
except:
break
return
if __name__ == "__main__":
main()