본문 바로가기
알고리즘/백준알고리즘

[백준 알고리즘 3009]네 번째 점 python으로 구현.

by 디찌s 2020. 11. 16.
728x90
반응형

네 번째 점 출처다국어분류

한국어   

시간 제한메모리 제한제출정답맞은 사람정답 비율

1 초 128 MB 11869 8553 7819 73.995%

 

문제

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

입력

세 점의 좌표가 한 줄에 하나씩 주어진다. 좌표는 1보다 크거나 같고, 1000보다 작거나 같은 정수이다.

출력

직사각형의 네 번째 점의 좌표를 출력한다.

 

 

예제 입력 1 복사

30 20 10 10 10 20

예제 출력 1 복사

30 10

 

 

이문제는 x,y값이 중복되지 않는 값을 찾는것이다. 설명은 아래에 해놓았다

 

if __name__ == '__main__':
    a = []

    result_index_x =0
    result_index_y =0
    count_x=0
    count_y=0
    for i in range(3):
        x_,y_= input().split()
        a.append((x_,y_))


    for i in range(3):
        if(a[i][0]==a[0][0]):
            count_x+=1
        else:
            result_index_x=a[i][0]
        if(a[i][1]==a[0][1]):
            count_y+=1
        else:
            result_index_y=a[i][1]

        if(i==2 and count_x!=2):
            result_index_x=a[0][0]
        if(i==2 and count_y!=2):
            result_index_y=a[0][1]




    print(result_index_x,result_index_y)

 

 

입력값 x,y를 튜플로 리스트에 넣는다. 그 후

 

첫번째 값 과 for문을 돌린 배열값이 같은경우에 카운트한다.

 

만약 첫번째 값과 for문배열을 돌리면서 값이 다르면 else문을 타서 값이 다른 배열값을 result값에 넣는다. 만약에 처음에 10 10 이 나올경우엔 count값이 2가 되므로 else문을 타 result_index_x값이 정답이되고

 

만약에 count==1이고 for문이 다돌았다면  이값은 유일수이므로 이값을 정답으로 채택하면된다

 

728x90
반응형

댓글