반응형
백준 - 단계별로 풀어보기 [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 문을 활용하여 풀이가 가능하다.
반응형
'Algorithm > Baekjoon BOJ' 카테고리의 다른 글
[백준 / BOJ] - 3053번 택시 기하학 C++ 풀이 (0) | 2020.02.25 |
---|---|
[백준 / BOJ] - 4153번 직각삼각형 C++ 풀이 (0) | 2020.02.18 |
[백준 / BOJ] - 1085번 직사각형에서 탈출 C++ 풀이 (0) | 2020.02.18 |
[백준 / BOJ] - 9020번 골드바흐의 추측 C++ 풀이 (0) | 2020.02.13 |
[백준 / BOJ] - 4948번 베르트랑 공준 C++ 풀이 (0) | 2020.02.13 |