BOJ - 좌표 정렬하기 2 11651

2025. 1. 5. 14:18·코딩테스트
반응형

 

해결방법

처음에 map을 사용해서 문제를 풀어보려고 했는데 잘 되지 않아서 vector와 pair를 섞어서 사용하는 방식으로 선회했다.

 

문제를 보면 y좌표를 가지고 정렬을 하라는 것을 알 수 있다.

따라서 정렬 기준은

1. y좌표값을 비교를 하고,

2. 만약 y좌표값이 같다면 x좌표값을 비교한다.

가 된다.

 

정답 코드

#include <iostream>
#include <vector>
#include <algorithm>

using namespace std;

int main()
{
    ios::sync_with_stdio(false);
    cin.tie(0);

    int N, x, y;
    cin >> N;

    vector<pair<int, int>> dots;

    for (int i = 0; i < N; i++)
    {
        cin >> x >> y;
        dots.push_back({ x, y });
    }

    sort(dots.begin(), dots.end(), [](pair<int, int> a, pair<int, int> b)
        {
        if (a.second == b.second)
            return a.first < b.first;
        return a.second < b.second;
        });

    for (const auto& dot : dots)
    {
        cout << dot.first << " " << dot.second << "\n";
    }

    return 0;
}
반응형

'코딩테스트' 카테고리의 다른 글

BOJ - 나이순 정렬 10814  (0) 2025.01.05
BOJ - 최대공약수와 최소공배수 2609  (0) 2025.01.05
BOJ - 욱제는 결정장애야!! 14646  (0) 2025.01.04
BOJ - 수 찾기 1920  (0) 2025.01.04
BOJ - 스택 10828  (1) 2025.01.04
'코딩테스트' 카테고리의 다른 글
  • BOJ - 나이순 정렬 10814
  • BOJ - 최대공약수와 최소공배수 2609
  • BOJ - 욱제는 결정장애야!! 14646
  • BOJ - 수 찾기 1920
skajalf
skajalf
skajalf 님의 블로그 입니다.
  • skajalf
    skajalf 님의 블로그
    skajalf
  • 전체
    오늘
    어제
    • 분류 전체보기 (159)
      • UNITY (6)
        • FanGame (6)
        • Portfolio (0)
      • UnReal (0)
      • DirectX (0)
      • 코딩테스트 (119)
      • Programming (34)
        • C C# C++ (9)
        • 디자인 패턴 (0)
        • 자료구조 & 알고리즘 (3)
        • 기타 (22)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    다들 아는거 굳이 적을 이유가 있을까..?
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.1
skajalf
BOJ - 좌표 정렬하기 2 11651
상단으로

티스토리툴바