반응형


 

백준 - 단계별로 풀어보기 [3009] 

https://www.acmicpc.net/problem/3009

문제

 

 

세 점이 주어졌을 때, 축에 평행한 직사각형을 만들기 위해 필요한 네번째 점을 찾는 프로그램을 작성하는 문제이다.

풀이

 

직사각형의 나머지 점을 찾기 위해서는 아주 간단한 로직을 따르면 된다.

x축과 y축을 기준으로 반드시 쌍을 이루고 있다는 규칙이다.

예를 들어, (30, 20) (10, 10) (10, 20)이 주어진 위 문제에서는 (10, 10) (10, 20) (30, 20) 이렇게 10,10 20,20이 짝을 이뤘고, 

쌍을 만족시키기위해서 새롭게 들어가야하는 수는 (30, 10)이다. (10, 10) (10, 20) (30, 20) (30, 10

이러한 규칙을 활용하여, 쌍을 이루지 못한 좌표의 x값과 y값을 가지는 좌표를 출력하면 쉽게 풀이가 가능하다.

 

코드

 

#include <iostream>
using namespace std;

int main()
{
    int x[3];
    int y[3];
    for(int i = 0; i < 3; i++)
        cin >> x[i] >> y[i];
    if(x[0] == x[1])
        cout << x[2] << " ";
    else if(x[0] == x[2])
        cout << x[1] << " ";
    else
        cout << x[0] << " ";

    if(y[0] == y[1])
        cout << y[2];
    else if(y[0] == y[2])
        cout << y[1];
    else
        cout << y[0];
}

 

평가

 

정답률 76%의 아주 쉬운 문제이다.

if 문을 활용하여 풀이가 가능하다.

 

 

반응형
블로그 이미지

Hyunsoo Luke HA

석사를 마치고 현재는 Upstage에서 전문연구요원으로 활동중인 AI 개발자의 삽질 일지입니다! 이해한 내용을 정리하는 용도로 만들었으니, 틀린 내용이 있으면 자유롭게 의견 남겨주세요!

,