📌 문제 링크: https://www.acmicpc.net/problem/1141
1141번: 접두사
접두사X 집합이란 집합의 어떤 한 단어가, 다른 단어의 접두어가 되지 않는 집합이다. 예를 들어, {hello}, {hello, goodbye, giant, hi}, 비어있는 집합은 모두 접두사X 집합이다. 하지만, {hello, hell}, {giant,...
www.acmicpc.net
✅ 내 풀이(Success) :
![[BOJ_1141] 접두사 [BOJ_1141] 접두사](http://t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png)
🧐 Review:
문제를 풀고 나서 다른 풀이들을 확인해 보니 슬라이싱을 이용한 풀이가 많았다. 해당 내용을 정리해 둔 문서를 다시 읽어봐야겠다.
🚩 Idea:
- 중복된 문자열을 확인하는 과정을 줄이기 위해 집합(set)에 문자들을 담아 중복된 문자열을 제거한다.
- 위의 처리를 거친 문자열을 문자열의 길이의 내림차순으로 정렬하면, 길이가 가장 긴 첫 번째 원소는 무조건 다른 문자열의 접두어가 되지 않으므로 해당 문자열을 answer에 초기값으로 담고, 그다음 문자열부터 문자열을 체크하는 과정을 실행한다.
- 반복문에서 문자열의 같은 인덱스의 문자들을 비교하고, 같은 경우에는 count를 증가시킨다.
- count의 값이 비교하려는 문자열의 길이와 일치한다면, 해당 문자열은 접두사X 집합에 포함될 수 없다.
'알고리즘 문제 풀이: 파이썬 > BOJ' 카테고리의 다른 글
[BOJ_14713] 앵무새 (1) | 2023.10.08 |
---|---|
[BOJ_2531] 회전 초밥 (1) | 2023.10.07 |
[BOJ_15903] 카드 합체 놀이 (0) | 2023.10.06 |
[BOJ_2841] 외계인의 기타 연주 (0) | 2023.10.03 |
[BOJ_7576] 토마토 (2) | 2023.10.02 |
댓글