본문 바로가기
알고리즘 문제/Algospot

[algospot][STRJOIN] 문자열 합치기

by 햄과함께 2019. 7. 13.
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

 

fpdjsns/Algorithm

알고리즘 정리. Contribute to fpdjsns/Algorithm development by creating an account on GitHub.

github.com

 

320x100

댓글