barcode

백준 3009번 풀이

BOJ/[BOJ] Python

문제

https://www.acmicpc.net/problem/3009

 

3009번: 네 번째 점

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

www.acmicpc.net

직사각형의 세 꼭지점 좌표가 주어졌을 때, 나머지 꼭지점을 구하시오.

 

풀이

이거 참고로 생각보다 쉽다. 본인은 이거 회사에서 점심시간에 할 거 없어서 풀었다. 점심시간에 할 거 없다고 백준 푸는것도 레전드네

 

import sys
for i in range(3):
    x,y = map(int,sys.stdin.readline().split())

입력이 세 줄이니까 이렇게 받으면 된다. 이제 인풋 안쓰시나봐요 제한시간이 1초라서요

 

def coordinate(a):
    if a[0] == a[1]:
        return a[2]
    elif a[1] == a[2]:
        return a[0]
    else:
        return a[1]

이건 함수인데 저게 왜 나왔냐… 함수가 왜 거기서 나오죠 쓰지 말라고 안했는데?

 

5 5
5 7
7 5

예시로 주어진 입력이 이거일 때 답이 7 7이다. x나 y나 같은 숫자가 두 개씩 있는 패턴을 보이고 있다. 즉, 저 중에 하나만 있는 걸 찾으면 된다.

for i in range(3):
    x,y = map(int,sys.stdin.readline().split())
    X.append(x)
    Y.append(y)

그래서 입력쪽이 최종적으로 이렇게 된다. (리스트 위에 있음) 배열로 만들고 함수 돌려서 하나만 있는 걸 찾아내는 식.

import sys
def coordinate(a):
    if a[0] == a[1]:
        return a[2]
    elif a[1] == a[2]:
        return a[0]
    else:
        return a[1]
X=list()
Y=list()
for i in range(3):
    x,y = map(int,sys.stdin.readline().split())
    X.append(x)
    Y.append(y)
print(coordinate(X),coordinate(Y))

전체 코드는 이거다. 참고로 수기로 코딩하고 타이핑하느라 런타임 에러 두 번 났다. 정답률 떨어졌대요

'BOJ > [BOJ] Python' 카테고리의 다른 글

백준 10872번 풀이  (0) 2022.08.19
백준 3053번 풀이  (0) 2022.08.19
백준 2480번 풀이  (0) 2022.08.19
백준 2525번 풀이  (0) 2022.08.19
백준 18108번 풀이  (0) 2022.08.19