<출처: https://programmers.co.kr/learn/courses/30/lessons/49994?language=cpp>
2차원 배열 위를 탐색하면서 중복되지 않은 Edge의 개수를 구하는 문제입니다.
Edge는 (시작점좌표, 끝점좌표) 두 개의 정보를 가지고 있습니다.
이를 다양한 저장방식으로 저장하면 됩니다.
1. visit[11][11][11][11]
2. 좌표 1개를 하나의 int로 만들어서, 두 좌표를 두 int로 만든 후set<pair<int,int>>로 관리
3. 좌표 4개를 하나의 스트링으로 묶어서 set<string>으로 관리
단, 첫 번째 방식은 그래프 크기가 100만 넘어가도 메모리 초과가 나므로 지양해야 합니다.
<코드: https://github.com/cottory/algorithm/blob/master/PROGRAMMERS/summer_winter02.cc>
'Algorithm > Programmers' 카테고리의 다른 글
[코딩테스트 연습] 기지국 설치 (0) | 2020.05.10 |
---|---|
[코딩테스트 연습] 숫자 게임 (0) | 2020.05.10 |
[2018 카카오 기출] 셔틀버스 (0) | 2020.05.09 |
[2018 카카오 기출] 자동완성 (0) | 2020.05.08 |
[2019 카카오 기출] 징검다리 건너기 (0) | 2020.05.06 |