티스토리 뷰
문제.
세 점이 주어졌을 때, 축에 평행한 직사각형을 만들기 위해서 필요한 네 번째 점을 찾는 프로그램을 작성하시오.
입출력.
세 점의 좌표가 한 줄에 하나씩 주어진다. 좌표는 1보다 크거나 같고, 1000보다 작거나 같은 정수이다. 직사각형의 네 번째 점의 좌표를 출력한다.
방법.
입력받은 x좌표 중에 같은 값이 없는 x좌표가 네 번째 점의 x좌표이고, 같은 값이 없는 y좌표가 네 번째 점의 y좌표이다. 만약 (10,10) (10, 30) (30,10)의 좌표가 주어졌다면, x좌표 중에 같은 값이 존재하는 10은 이미 직사각형의 한 변을 의미하므로, 같은 값이 없는 x좌표인 30이 네 번째 점의 x좌표가 된다. 같은 맥락으로 네 번째 점의 y좌표는 30이 된다.
처음에는 2차원 배열로 입력받고 네번재 점의 좌표를 찾아보았는데 한눈에 코드의 내용을 파악하기 어려워서 간단하게 변수를 사용하게 바꾸었다.
#include <stdio.h>
int main(void){
int x1,x2,x3,x4=0;
int y1,y2,y3,y4=0;
scanf("%d %d",&x1,&y1);
scanf("%d %d",&x2,&y2);
scanf("%d %d",&x3,&y3);
if(x1==x2){x4=x3;}
else if(x1==x3){x4=x2;}
else if(x2==x3){x4=x1;}
if(y1==y2){y4=y3;}
else if(y1==y3){y4=y2;}
else if(y2==y3){y4=y1;}
//결과 출력
printf("%d %d",x4,y4);
return 0;
}
Insight.
문제를 선택하는 기준이 내가 풀기 편한 문제, 쉬운 문제가 되어버려서 내일부터는 그냥 단계별로 순서대로 문제를 풀어야겠다.
'Computer Science > 백준 알고리즘' 카테고리의 다른 글
[백준.11654-C언어] 아스키 코드 (0) | 2021.03.06 |
---|---|
[백준.01065-C언어] 한수 (0) | 2021.03.05 |
[백준-JAVA] 제어문 (0) | 2021.03.03 |
[백준.04673-C언어] 셀프 넘버 (0) | 2021.03.01 |
[백준.1단계-JAVA] 입출력과 사칙연산 (0) | 2021.02.27 |
댓글