320x100
문제 : https://algospot.com/judge/problem/read/STRJOIN
그리디로 풀었다.
문자열의 길이가 가장 짧은 것 2개 부터 차례로 합쳐나간다.
최소 힙에 문자열들을 넣고 top에 있는 것 2개를 꺼내서 두 문자열의 길이의 합을 정답에 더해나간다.
최소 힙에 있는 문자열이 1개 남을 때까지 이를 반복한다.
최소 힙에서 특정 원소를 추가하는 작업은 O(logN)이므로 총 시간복잡도는 O(NlogN)이 된다.
소스코드 : https://github.com/fpdjsns/Algorithm/blob/master/algospot/STRJOIN.cpp
320x100
'알고리즘 문제 > Algospot' 카테고리의 다른 글
[algospot][ITES] 외계 신호 분석 (0) | 2020.01.31 |
---|---|
[algospot][JOSEPHUS] 조세푸스 문제 (0) | 2020.01.28 |
[algospot][LUNCHBOX] Microwaving Lunch Boxes (0) | 2019.07.13 |
[algospot][MATCHORDER] 출전 순서 정하기 (0) | 2019.07.13 |
[algospot][ASYMTILING] 비대칭 타일링 (0) | 2019.06.12 |
댓글