본문 바로가기
알고리즘/개념

[C++] pair

by 코드 이야기 2020. 9. 4.
728x90

 Pair 란? 

- 두 객체를 하나로 묶어주는 클래스이다. (좌표 등을 표현하기에 적절하다.)

 

- <utility> 헤더에 존재한다.

 

 

 Pair의 기본 사용 방법 

 

선언

pair <[data type 1], [data type 2]> p;

- 묶어줄 두 값의 데이터 타입을 넣어주고, 변수 명을 지정한다.

 

 

입력, 값 할당

cin >> x >> y;
p = make_pair(x, y);

make_pair(변수1, 변수2): 변수1, 변수2를 묶어준다(pair를 만들어준다).

 

- pair로 만든 변수에는 값을 바로 입력받을 수 없다.

  

  그래서 두 변수에 입력받고 난 후에 묶어주어야 한다.

 

 

출력

cout << p.first << ' ' << p.second;

 

p.first: p의 첫번째 인자를 반환

 

p.second: p의 두번째 인자를 반환

 

 

 

 

 

 

 pair 연습에 좋은 문제들 

 

> 좌표 정렬하기

 

11650번: 좌표 정렬하기

첫째 줄에 점의 개수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N개의 줄에는 i번점의 위치 xi와 yi가 주어진다. (-100,000 ≤ xi, yi ≤ 100,000) 좌표는 항상 정수이고, 위치가 같은 두 점은 없다.

www.acmicpc.net

 

> 좌표 정렬하기 2

 

11651번: 좌표 정렬하기 2

첫째 줄에 점의 개수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N개의 줄에는 i번점의 위치 xi와 yi가 주어진다. (-100,000 ≤ xi, yi ≤ 100,000) 좌표는 항상 정수이고, 위치가 같은 두 점은 없다.

www.acmicpc.net

 

> 나이순 정렬

 

10814번: 나이순 정렬

온라인 저지에 가입한 사람들의 나이와 이름이 가입한 순서대로 주어진다. 이때, 회원들을 나이가 증가하는 순으로, 나이가 같으면 먼저 가입한 사람이 앞에 오는 순서로 정렬하는 프로그램을 �

www.acmicpc.net

 

 

 

 

 

728x90

댓글