[BOJ 3273] 두 수의 합

문지영·2023년 3월 7일
0

CODINGTEST

목록 보기
10/21

문제 3273

정답

N = int(input())
arr = list(map(int, input().split()))
X = int(input())
nums = [0]*X
answer = 0
for n in arr:
    if X-n > 0 and nums[X-n]: answer+=1
    if n<X: nums[n] = 1

print(answer)

풀이

arr에는 서로 다른 자연수 저장
nums는 arr 값 중 1~(X-1) 사이 자연수 저장
nums[X-n]==1 이면 answer++
X-n>0, n<X 를 미리 확인하여 IndexError 방지

제출

profile
BeHappy

0개의 댓글