코딩테스트
[프로그래머스] 1878 - 나머지 한 점(Python)
til_t
2021. 3. 6. 01:12
제출 코드
def solution(v):
# x 좌표가 들어 있는 리스트
x = []
# y 좌표가 들어 있는 리스트
y = []
# 입력된 이중 리스트 순회
for i in v:
# x는 x리스트에, y는 y리스트에 append
x.append(i[0])
y.append(i[1])
# 만일 x리스트에 해당 x값이 두 개 있다면
# 집합으로 중복값을 지우고, 리스트로 만든 후, 해당 값 삭제
if x.count(i[0]) == 2:
x = list(set(x))
x.remove(i[0])
# 만일 y리스트에 해당 y값이 두 개 있다면
# 집합으로 중복값을 지우고, 리스트로 만든 후, 해당 값 삭제
if y.count(i[1]) == 2:
y = list(set(y))
y.remove(i[1])
# x리스트와 y리스트 연결
x.extend(y)
return x
사각형의 나머지 값은 즉, x와 y 리스트에서 한 번만 나온 값이다.
이중리스트를 순회하며 x 리스트와 y 리스트에 각각 x, y 값을 넣는다.
두 번 들어있는 값이 if 문에 걸리면 set()으로 중복을 제거하고 리스트로 만든 후, remove로 두 번 나왔던 값을 제거한다.
그렇게 되면 각각 x와 y 리스트엔 한 번만 나온 값만 남아있게 된다.
x 리스트에 y리스트를 연결하고 x를 리턴하면 나머지 직사각형의 한 점을 찾을 수 있다.