알고리즘/BOJ

백준 2170번 선 긋기

꾸준함. 2024. 4. 3. 10:57

문제 링크입니다: https://www.acmicpc.net/problem/2170

 

2170번: 선 긋기

첫째 줄에 선을 그은 횟수 N (1 ≤ N ≤ 1,000,000)이 주어진다. 다음 N개의 줄에는 선을 그을 때 선택한 두 점의 위치 x, y (-1,000,000,000 ≤ x < y ≤ 1,000,000,000)가 주어진다.

www.acmicpc.net

 

x와 y 값이 최대 10억이기 때문에 boolean 배열을 선언한 뒤 마킹하는 식으로 풀 수 없는 문제였습니다.

이에 따라 {x, y} 쌍을 저장하는 벡터를 선언하고 오름차순으로 정렬한 뒤 라인 스위핑 기법으로 푸는 문제였습니다.

  • 현재 구간의 y보다 다음 구간의 x가 더 클 경우 현재 [x, y) 길이를 더함
  • 현재 구간의 y가 다음 구간의 x와 y 사이에 있을 경우 중복 카운팅을 피하기 위해 현재 구간의 y를 다음 구간의 y로 업데이트

 

 

개발환경:Visual Studio 2022

 

지적, 조언, 질문 환영입니다! 댓글 남겨주세요~

반응형

'알고리즘 > BOJ' 카테고리의 다른 글

백준 14469번 소가 길을 건너간 이유 3  (0) 2024.04.08
백준 2109번 순회강연  (0) 2024.04.06
백준 14729번 칠무해  (0) 2024.04.03
백준 15926번 현욱은 괄호왕이야!!  (1) 2024.03.31
백준 15353번 큰 수 A+B (2)  (0) 2024.03.31