Loading...

[백준] 3273번 두 수의 합 (배열, 포인터 c++)

https://www.acmicpc.net/problem/3273 3273번: 두 수의 합 n개의 서로 다른 양의 정수 a1, a2, ..., an으로 이루어진 수열이 있다. ai의 값은 1보다 크거나 같고, 1000000보다 작거나 같은 자연수이다. 자연수 x가 주어졌을 때, ai + aj = x (1 ≤ i < j ≤ n)을 만족하는 www.acmicpc.net 두 가지 방법으로 풀 수 있다. 하나는 원소 체크(기록)을 해서 배열의 원소 a에 대해서 x-a가 배열에 있는 지 체크하는 법 또 하나는 정렬 후 투포인터를 이용하는 법. 1. 기록 #include using namespace std; int num[100001]; int cnt[2000001]; int main(void) { ios::syn..

LeetCode -Intersection of Two Arrays (투포인터, 이분탐색, 파이썬)

이진탐색으로 하나만 정렬하고 bisect으로 찾는 방법이 있고 투 포인터로 둘 다 정렬한 다음 같이 인덱스 0으로 시작해서 작은 배열의 인덱스를 1씩 증가시키는 방법이 있다. 중복이 없어야 되므로 set()을 사용한다 class Solution: def intersection(self, nums1: List[int], nums2: List[int]) -> List[int]: nums1.sort() nums2.sort() result=set() i=j=0 while i