ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [백준 알고리즘 3009]네 번째 점 python으로 구현.
    알고리즘/백준알고리즘 2020. 11. 16. 22:48
    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
    반응형
Designed by Tistory.