백준 파이썬 3009: 네 번째 점
2022. 5. 1. 19:44ㆍ컴퓨터 사이언스/Algorithm
반응형
네 번째 점 성공다국어
한국어
시간 제한메모리 제한제출정답맞힌 사람정답 비율
1 초 | 128 MB | 31100 | 22474 | 20247 | 73.260% |
문제
세 점이 주어졌을 때, 축에 평행한 직사각형을 만들기 위해서 필요한 네 번째 점을 찾는 프로그램을 작성하시오.
입력
세 점의 좌표가 한 줄에 하나씩 주어진다. 좌표는 1보다 크거나 같고, 1000보다 작거나 같은 정수이다.
출력
직사각형의 네 번째 점의 좌표를 출력한다.
내 정답 코드
x = []
y = []
# x와 y 좌표들을 입력받습니다!
for i in range(3):
a, b = map(int, input().split())
x.append(a)
y.append(b)
# x와 y 좌표들중 중복된 것이 있다면 변수에 저장해줍니다!
for j in range(3):
if x.count(x[j]) > 1:
xrepeated_num = x[j]
if y.count(y[j]) > 1:
yrepeated_num = y[j]
# x와 y중 중복된 것들을 제거해줍니다!
while xrepeated_num in x:
x.remove(xrepeated_num)
while yrepeated_num in y:
y.remove(yrepeated_num)
print("{0} {1}".format(x[0], y[0]))
_ 평행한 직사각형의 특징을 이용하여 해당 문제를 해결하였습니다. 입력 예시를 통해서 위 코드를 설명해드리겠습니다!
입력 예시는 아래와 같습니다!
1번째 x: 5, y: 5
2번째 x: 5, y: 7
3번째 x: 7, y: 5
위를 좌표 형식으로 생각한다면 x의 점들은 5와 7 위에 위치할 것이고, y의 점또한 5와 7에 위치할 것입니다.
이 때 중요한 것은 평행한 직사각형의 좌표이기에 이미 두개가 표시된(=중복된) 좌표는 새로운 좌표가 올 수 없기에 제거해주면 x는 7, y는 7이 남아 답이 됩니다!!!
반응형
'컴퓨터 사이언스 > Algorithm' 카테고리의 다른 글
11729번: 하노이 탑 이동 순서 (0) | 2022.05.23 |
---|---|
17478번: 재귀함수가 뭔가요? (0) | 2022.05.17 |
백준 파이썬 9020: 골드바흐의 추측 (0) | 2022.03.29 |
백준 파이썬 4948: 베르트랑 공준 (0) | 2022.03.26 |
파이썬 해시법 (0) | 2022.02.15 |