〈커플링 매치〉 문제 출제자 해설
〈커플링 매치〉 문제 출제자 해설
〈2024 GIST 알고리즘 마스터즈〉 대회 출제분
군 복무 중에는, 전역하기만하면 여자친구부터 만들겠다는 생각이 있었습니다. 그로부터 네다섯 정도가 지난 지금도 손가락만 빨고 있는 제 모습을 보자니, 친구들의 커플링만 보아도 배가 아플 지경이 되었습니다.
풀이
입력으로 주어지는 각 반지들에 대해서, 정확히 두 번 등장한 반지를 찾는 것이 목표입니다. 각 반지들을 키로 갖고, 이들 반지 착용자를 값으로 갖는 키-값 쌍을 생성하는 것으로 해결할 수 있습니다.
1
2
3
4
5
rings = defaultdict(list)
for name, ring in gets:
if ring == '-':
continue
rings[ring].append(name)
이 문제에서 요구하는 키-값 쌍의 사용 방법의 난이도가 낮아, 이것을 사용하지 않는 문제의 풀이가 더 어렵습니다. 따라서 키-값 쌍을 사용하지 않고 단순히 반복문으로 처리하는 것을 별해로 두고 따로 막지 않았습니다.