백준 2

백준_8983_사냥꾼

풀이 입력값이 순서대로 정렬되어있지 않으므로 입력을 받고 정렬을 해줍니다. 사대 같은 경우에는 오름차순으로 동물 같은 경우에는 x 축이 작은 순으로 정렬해줍니다. 입력값이 크기 때문에 순차적으로 검사하기 위함이다. 만약 정렬하지 않고 모든 경우에 수를 검사한다면 시간 초과가 빵...! 저는 동물을 기준으로 순회하면서 각동물이 사대에 범위에 포함되어 잡힐 수 있는지 판단했습니다. 문제를 그림으로 표현하면 다음과 같고 대략 3가지 경우를 생각해줘야합니다. 첫 번째는 사대의 범위를 Y 축 기준으로 넘는 경우입니다. 이때는 어느 사대도 저위에 동물을 잡을 수 없기 때문에 다음 동물을 검사합니다. 두 번째는 범위에 포함되는 경우입니다. 범위에 포함되는 경우에는 현재 확인 중인 사대를 유지하면서 다음 동물로 넘어갑..

백준 2020.12.25

백준_4195_친구네트워크

1. 문제 이해 문제를 읽어보면 각 줄에 친구 두명씩 주어지고 이둘은 서로 연결된다. 이와 같은 과정을 반복하면서 각단계에서 주어진 친구 두명을 포함하여 서로 연결된 총 친구의 명수를 출력하면된다. 예를 들어 A B => A, B 가 연결되고 이때 총 친구 네트워크는 2 이다. B, C => B, C 가 연결되고 이때 총친구 네트 워크는 3이다. B는 A 와 연결되어있기 떄문! 2. 핵심 개념 (union find, hashMap) Union Find 를 이용해서 풀이를 진행했다. 기존의 Union Find 는 a, b 의 노드를 합칠때 각 a, b 의 부모노를 찾고 부모노드의 값이 작은 것을 기준으로 합쳐줬다. 이문제에 응용 시켜보면 각 친구의 부모노드를 찾고(find) 하고 두 부모노드를 합쳐주면된다..

백준 2020.09.26