본문 바로가기

컴퓨터/백준 알고리즘

백준 알고리즘 3009번: 네 번째 점 C언어

문제 출처: https://www.acmicpc.net/problem/3009

 

3009번: 네 번째 점

문제 세 점이 주어졌을 때, 축에 평행한 직사각형을 만들기 위해서 필요한 네 번째 점을 찾는 프로그램을 작성하시오. 입력 세 점의 좌표가 한 줄에 하나씩 주어진다. 좌표는 1보다 크거나 같고, 1000보다 작거나 같은 정수이다. 출력 직사각형의 네 번째 점의 좌표를 출력한다. 예제 입력 1 복사 30 20 10 10 10 20 예제 출력 1 복사 30 10...

www.acmicpc.net

1. 코드

#include <stdio.h>

int main(void)
{
    int x[4], y[4], i;
    
    for(i = 0; i < 3; i++) scanf("%d %d", &x[i], &y[i]);
    /*x값 서로 비교하여 겹치지 않은 x값을 x[3]에 대입*/
    if(x[0] == x[1]) x[3] = x[2];
    else if(x[0] == x[2]) x[3] = x[1];
    else x[3] = x[0];
    
    /*y값 서로 비교하여 겹치지 않은 y값을 y[3]에 대입*/
    if(y[0] == y[1]) y[3] = y[2];
    else if(y[0] == y[2]) y[3] = y[1];
    else y[3] = y[0];
    
    printf("%d %d\n", x[3], y[3]);
    return 0;
}

2. 문제 해결 방식

이 문제는 정말 간단하다. x값과 y값을 입력받고 겹치지 않은 값을 찾아내어 그것들을 출력하면 된다. 나는 반복문입력하기 쉽게 배열을 이용하였다. 그리고 if 문을 활용하여 해결하였다. 더이상 설명하고 싶어도 쓸게 없다.

3. 느낀 점

수학 2에서 문제의 난이도가 점점 쉬어지고 있어서 조금 의문이 들고 있기는한데 다음 문제는 조금 재미있는 문제가 나왔으면 좋겠다.