-
[프로그래머스] 1878 - 나머지 한 점(Python)코딩테스트 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를 리턴하면 나머지 직사각형의 한 점을 찾을 수 있다.
'코딩테스트' 카테고리의 다른 글
[프로그래머스] 평균 구하기 (Python) (0) 2021.03.25 [프로그래머스] 문자열 내 p와 y의 개수 (Python) (0) 2021.03.25 [백준] 1874 - 스택 수열 (Python) (0) 2021.03.05 [백준] 2798 - 블랙잭 (Python) (0) 2021.03.05 [백준] 2920 - 음계 (Python) (0) 2021.03.05