title: "[프로그래머스] 캠핑 C++ 해설 (Level 3) - 이도훈"
cleanUrl: "programmers/1833"
description: "프로그래머스 Level 3 문제 [캠핑]의 풀이를 정리합니다."
문제 설명
무지를 돌보느라 지친 콘은 한적한 시골의 한 캠핑장에 놀러 갔다. 캠핑장은 텐트를 칠 수 있는 넓은 평지를 제공하고 있는데, 이 평지에는 이미 캠핑장에서 설치해 놓은 n
개의 쐐기가 박혀 있다. 캠핑장 이용 고객은 이 쐐기들 중 한 쌍을 골라 다음과 같은 조건을 만족하도록 텐트를 설치해야 한다.
캠핑장에서는 위와 같은 조건을 만족하는 위치라면 어디든 고객이 텐트를 설치할 수 있도록 정확한 크기의 텐트를 모두 구비하여 대여해준다고 한다.
당신은 위와 같은 조건을 만족하는 텐트를 설치할 수 있는 쐐기의 쌍의 개수는 총 몇 가지가 될지 궁금해졌다.
n
개의 쐐기의 위치가 좌표로 주어질 때, 위의 조건을 만족하는 쐐기의 쌍의 개수를 계산하는 프로그램을 작성하시오. 단, 동서 방향은 x축, 남북 방향은 y축과 평행하다고 가정한다.
입력은 쐐기의 개수를 의미하는 정수 n
과, n × 2
크기의 2차원 배열 data
로 주어지며, 배열의 각 행은 캠핑장에 설치된 쐐기의 x좌표와 y좌표를 의미한다. 제한 조건은 다음과 같다.
2 <= n <= 5,000
n
개의 쐐기는 모두 x좌표 0
이상 2^31-1
이하, y좌표 0
이상 2^31-1
이하에 위치한다.n
개의 쐐기 중 x좌표와 y좌표가 모두 같은 경우는 없다.