Park Jonghyeon

이분 탐색

이분 탐색은 탐색 범위가 매우 넓은 값에서 특정 값을 결정할 때 유용하게 사용되는 알고리즘입니다. 탐색 범위가 크지 않다면 이분 탐색의 사용으로 얻는 효용 역시 크지 않지만, 최적화가 필요한 코드에서는 상당히 자주 유용합니다. 백준 온라인 저지에서는 solved.ac 레이팅이 어느 정도 수준을 넘은 문제라면 이분 탐색을 사용하는건 유니온-파인드와 비...

백준 1647 도시 분할 계획 문제 풀이

문제 파악하기 문제는 도로를 제거하여 유지비용을 최소화하는 것이 목표라고 합니다. 제거할 도로를 선택하는 것과 남길 도로를 선택하는 것은 본질적으로 같으므로 제거할 도로를 선택할 대신 남길 도로를 선택하는 것으로 생각할 수 있습니다. 위와 같이 생각하면 단순히 가중치가 제시된 연결선에서 몇 개의 연결을 선택하여 최소한의 가중치 합을 갖는 트리, 즉...

백준 16724 피리 부는 사나이 문제 풀이

문제 파악하기 제시되는 모든 타일은 이동 방향을 지시하고 있습니다. 즉 어떠한 타일에 위치하든 회원들은 계속해서 일정한 경로를 순회하거나, 벽(맵의 바깥)에 막혀 이동이 정지될 것입니다. 이 두 유형은 모두 타일을 그룹화할 수 있음을 의미합니다. 일정한 경로를 순회하도록 하는 타일의 집합도, 특정한 목적지가 있는 타일의 집합도 모두 각각 단일 그룹...

백준 2166 다각형의 면적 문제 풀이

문제 파악하기 입력으로 다각형 꼭짓점의 좌표를 제시합니다. 이 좌표만을 사용하여 다각형의 면적을 구해야합니다. 꼭짓점은 다각형을 구성하는 순서대로 제공하므로, 굳이 순서를 변경하여 문제의 의도와 다른 다각형을 고려할 필요는 없습니다. 문제 풀어보기 문제에서 제시하는 도형은 다각형이기만 무엇이든 가능하므로 제시되는 도형의 유형은 매우 다양합니다....

백준 1202 보석 도둑 문제 풀이

문제 파악하기 모든 가방에 대해, 각 가방이 담을 수 있는 무게 한도 내에서, 가장 가치가 높은 보석을 담도록 하는 문제입니다. 가방이라는 단어가 있지만 한 가방에 한 개의 보석만 담을 수 있으므로 냅색 문제는 아닙니다. 문제 풀어보기 각 가방이 허용하는 무게 범위 내에서 최대의 가치를 지닌 보석을 선택하면 되므로, 모든 값이 잘 정렬되어있다면...

백준 1197 최소 스패닝 트리 문제 풀이

문제 알아보기 가장 기본적인 최소 비용 스패닝 트리 문제입니다. 제시된 그래프에서 최소 스패닝 트리를 구성할 수 있는 간선만 선택하여 간선 가중치의 합을 구합니다. 풀어보기 프림 알고리즘 대표적인 최소 비용 스패닝 트리 알고리즘인 프림 알고리즘을 사용합니다. 간선의 가중치를 기준으로 모든 간선 정보를 정렬. 가중치가 가장 낮은 간선을...

백준 2473 세 용액 문제 풀이

문제 파악하기 기본적으로 두 용액 문제의 변형입니다. 두 용액 문제에서는 용액을 두개만 합성하지만, 이번에는 세개를 합성합니다. 용액 합성의 개수가 늘었지만, 두 용액에서 한개만 더 늘었을 뿐이므로 다소 무식하게 접근할 수 있을 것 같습니다. 풀어보기 두 용액에서 전체 용액에 대해 투 포인터를 사용했다면, 세 용액에서는 용액 하나를 미리 선택하...

백준 10942 팰린드롬? 문제 풀이

문제 파악하기 이 문제는 매우 빡빡한 시간 조건과 매우 넓은 범위의 입력값을 가진 문제입니다. 언듯 보면 팰린드롬 여부만 파악하면 될 것 같지만, 1십만 개의 숫자 배열에 대해 최대 1백만회 일정 범위에 대해 팰린드롬에 대해 물어볼 수 있으므로 팰린드롬 관련 처리에 집중한다면 시간 초과가 발생하기 쉬워보입니다. 문제 풀어보기 어떠한 범위의 수열...

백준 27903 인생 문제 풀이

어제는 구데기컵이 개최된 날입니다. 구데기컵의 열성팬으로서 제대로 참여하고 싶었지만, 부대 내부 사정으로 컨테이너 사지방을 가지 못해 제대로 참여할 수 없었습니다. 27903번 인생 문제는 어제 열린 구데기컵에서 제가 유일하게 푼 문제입니다. 휴대폰으로 적당히 타이핑해도 풀 수 있으므로 시도해볼만 합니다. 풀어보기 코드 안에 백준 아이디를 구...

군대에서 프로그래밍 취미 갖기

군대에서 프로그래밍 취미를 갖는다는 것은 상당히 어려운 일입니다. 군에서는 IT 강군을 꿈꾼다고 여러가지 시도를 하는 모양이지만, 동시에 프로그래밍을 불건전한 것으로 이미 낙인찍은 듯한 여러가지 정책도 목격됩니다. 사실 임의로 작성한 코드는 어떻게 보면 비인가 SW에 해당하므로 어느정도 이해는 되지만 공감은 되지 않는 것 같습니다. 코드 에디터, 컴...