정답 비율: 48.621%
문제 풀이
갑옷을 만드는 데 필요한 수가 m이라고 할 때, m에서 nums의 각 원소들을 뺀 나머지 값이 nums에 있는지 탐색하며 문제를 해결한다.
예를 들어 m = 9이고 nums의 첫 원소가 2일 때, 9 - 2 = 7이 nums에 있는지 탐색한다.
소스 코드
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
from typing import List
# 재료의 개수 n
n = int(input())
# 갑옷을 만드는데 필요한 수 m
m = int(input())
# 재료들의 고유 번호
nums = list(map(int, input().split()))
def twoSum(nums: List[int], target: int) -> int:
cnt = 0
for i, n in enumerate(nums):
complement = target - n
if complement in nums[i+1:]: # 현재 값을 버려가면서 나머지 리스트만 보기 때문에 중복이 나오지 않게 됨
cnt += 1
return cnt
print(twoSum(nums, m))