320x100
문제 : https://www.acmicpc.net/problem/1181
문제 조건 중 단어가 여러 번 입력된 경우 한 번씩만 출력을 하라는 항목이 있다.
그래서 중복을 제거하기 위해 set을 이용해서 풀었다.
그리고 set의 정렬 조건을 수정하였다.
정렬 조건은
만약 비교하는 문자열 2개의 길이가 다르다면 앞에 있는 문자열이 길이가 더 짧은 경우 true, 앞에 있는 문자열이 길이가 더 긴 경우 false를 반환.
문자열 2개의 길이가 같다면 사전순 정렬로 되어있으면(앞에 있는 문자열 < 뒤에 있는 문자열) true, 아닌 경우 false를 반환한다.
C++ set.insert 의 시간복잡도는 O(log(set.size()) 이므로,
총 시간복잡도는 대략 O(NlogN)
소스코드 : https://gist.github.com/fpdjsns/65ecf5c52cb88b6f1b787161b7b3814c
참고
320x100
'알고리즘 문제 > BOJ' 카테고리의 다른 글
[BOJ][11585] 속타는 저녁 메뉴 (0) | 2020.04.08 |
---|---|
[BOJ][2003] 수들의 합 2 (0) | 2019.02.16 |
[BOJ][1504] 특정한 최단 경로 (0) | 2019.01.27 |
[BOJ][1516] 게임 개발 (0) | 2019.01.20 |
[BOJ][3665] 최종 순위 (0) | 2019.01.19 |
댓글