https://school.programmers.co.kr/learn/courses/18/lessons/1878
딕셔너리에 각 좌표가 언급된 개수를 저장했다. 이 때, 딕셔너리의 value 값은 [x, y] 형태의 배열로 저장했다. x와 y는 각각 x 좌표로서 언급된 횟수, y 좌표로서 언급된 횟수를 저장한다.
결과적으로 다음과 같이 값이 저장되는 것이다.
예) {"1":[2,1],"2":[1,2]}
value 배열을 탐색하면서, 한 번 카운팅 된 key 값이 남은 하나의 모서리가 된다. x 자리가 1이라면 x 좌표가, y 자리가 1이라면 y좌표가 해당 key 값이 된다.
💡 코드로 구현하면 다음과 같다. 역시 문제를 풀다보면 딕셔너리를 사용하는 경우가 굉장히 많은 것 같다. 딕셔너리를 사용하는 연습을 꾸준히 해야 겠다 😎
def solution(v):
hash = {} # x, y좌표 언급 횟수 카운팅
for i in range(len(v)):
hash[v[i][0]] = [0, 0]
hash[v[i][1]] = [0, 0]
x, y = 0, 0
for i in range(len(v)): # 좌표 값을 딕셔너리의 key로, 언급된 횟수를 value 값으로 저장
hash[v[i][0]][0] += 1
hash[v[i][1]][1] += 1
for i in hash.keys(): # 해시의 key 값을 불러오는 방법
if hash[i][0] == 1: # 언급 횟수가 1번이면 x좌표로 지정
x = i
if hash[i][1] == 1: # 언급 횟수가 1번이면 y좌표로 지정
y = i
answer = [x, y]
return answer