← 실전 문제

중복 없는 공통 품목

C++빈칸 채우기

두 목록에 모두 있는 품목 번호의 종류 수를 구해요. 한 목록에 같은 번호가 여러 번 있어도 품목 종류는 한 번만 세어요. prepare는 정렬하고 중복을 제거하는 보조 함수예요.

int solution(vector<int> first, vector<int> second)가 요구한 값을 반환하도록 빈칸을 채워 주세요.

매개변수와 반환값

first와 second의 길이는 각각 0100, 각 품목 번호는 01,000이에요. 목록 순서는 임의예요. 반환값은 두 목록에 공통으로 있는 서로 다른 번호의 수로 0~100이에요.

예시

  1. first={3, 1, 3, 5}, second={3, 3, 4, 1}이면 2를 반환해요. 공통 번호는 1과 3의 두 종류예요.
  2. first={8, 9}, second={1, 2}이면 0를 반환해요. 공통 번호가 없어요.

실행용 입출력

첫 줄에 첫 목록 길이 n과 둘째 길이 m, 다음 줄에 첫 목록, 그다음 줄에 둘째 목록을 입력해요. 길이가 0인 목록 줄은 비워도 돼요. main은 입력을 매개변수로 바꾸고 반환값을 출력하는 채점 하네스예요. 풀이 대상은 solution과 제공된 보조 함수의 빈칸이에요.

예시 입력

4 4
3 1 3 5
3 3 4 1

예상 결과

2

예시 입력

2 2
8 9
1 2

예상 결과

0
핵심 개념
  • basic-sort-search: 정렬 뒤의 기준과 순서를 읽어요.
  • function-design: 보조 함수의 인자와 반환 계약을 연결해요.
  • stl-vector: 벡터의 크기와 인덱스로 매개변수를 읽어요.

코드 작성과 채점은 로그인 후 이용해요

로그인하고 풀기