티스토리 뷰

문제. 

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

 

입출력.

세 점의 좌표가 한 줄에 하나씩 주어진다. 좌표는 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.

문제를 선택하는 기준이 내가 풀기 편한 문제, 쉬운 문제가 되어버려서 내일부터는 그냥 단계별로 순서대로 문제를 풀어야겠다.

 

 

 

 

 

3009번: 네 번째 점

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

www.acmicpc.net

댓글
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
최근에 올라온 글
글 보관함
Total
Today
Yesterday