3009번: 네 번째 점
세 점이 주어졌을 때, 축에 평행한 직사각형을 만들기 위해서 필요한 네 번째 점을 찾는 프로그램을 작성하시오.
www.acmicpc.net
풀이
세 점의 좌표가 주어질 때 직사각형을 만들기 위해 필요한 네 번째 점을 찾아야 한다.
한 점의 좌표가 한 줄에 출력된다.
a, b = map(int, input().split())
c, d = map(int, input().split())
e, f = map(int, input().split())
직사각형이면 2 6 / 6 2 / 2 2 이런 식으로 값을 넣는다고 치면
나머지 값이 6 6 이 나와야 직사각형이 된다.
구해야 할 한 점의 좌표를 x, y로 뒀다.
근데 이건 어떻게 해야 할지 잘 모르겠어서 그냥 틀릴 각오를 하고 if문 (또 ^_ㅠ...)를 써서 풀었다.
근데 맞긴 맞아서... 어떻게 하면 더 생산성 있는 코드가 될지 질문 글을 남겨두긴 했는데 아직 소식이 없다.
다른 사람들 코드도 궁금해서 보긴 했는데 잘 이해가 안돼서...
내일은 알고리즘 n개 풀고 모르는 매서드랑 다른 사람들 풀이 좀 공부해봐야겠다... 갑자기 우울해지네 히유
아무튼! 위처럼 코드들이 좀 비슷해야 하기 때문에
a == c라면 x == e랑
a == e라면 x == c랑
그 외(e == c)라면 x == a로 한다.
y좌표도 위와 똑같이 구해주면 되고
print(x, y)하면 된다.
잘 몰라서 푸는 것도 못 했을 때에는 그래도 맞으면 기분이 좋았는데,
이제는 맞아도 왜 맞지...? 이거 이렇게밖에 안되나...? 하는 생각이 먼저 들어서 답답하다.
첫 술에 배부르려는 못된 심보 나가 ~~
코드
a, b = map(int, input().split())
c, d = map(int, input().split())
e, f = map(int, input().split())
if a == c :
x = e
elif a == e :
x = c
else :
x = a
if b == d :
y = f
elif b == f :
y = d
else :
y = b
print(x, y)
'🥧 Python > ⚙️ 코딩테스트' 카테고리의 다른 글
[백준-Python] 2884번: 알람 시계 (0) | 2023.02.18 |
---|---|
[백준-Python] 2754번: 학점계산 (0) | 2023.02.16 |
[백준-Python] 10156번: 과자 (0) | 2023.02.16 |
[백준-Python] 4101번: 크냐? (0) | 2023.02.15 |
[백준-Python] 2480번: 주사위 세개 (2) | 2023.02.15 |