9935 - 문자열 폭발
- 알고리즘/문제풀이
- 2016. 11. 8. 03:27
문제 링크
https://www.acmicpc.net/problem/9935
문제 요약
문자열 \(A\), \(B\)가 주어진다. \(B\)는 \(A\)안에서 연쇄적으로 사라질 때 최종적으로 남은 문자열이 무엇인지 출력하는 문제다.
문제 풀이
문자열이 연쇄적으로 사라진다는 점에 착안해서 \(A\)문자열을 앞에서부터 한 글자씩 답 문자열에 추가해 가면서 끝에서 \(B\)와 매칭이 되는가를 매번 확인해 준다.
매번 확인하면 시간내에 들어올까 하는 의문이 생길수도 있다. 하지만 \(A\)의 길이가 \(10^6\)데 비해 \(B\)의 길이는 최대 \(36\)밖에 안되기 때문에 매우 빠른속도에 통과하는것을 확인할 수 있다.
시간복잡도는 \(O(|A||B|)\)이다.
소스 코드
'알고리즘 > 문제풀이' 카테고리의 다른 글
2271 - 암호화 알고리즘의 약점 (0) | 2016.11.09 |
---|---|
3136 - 평면도 (0) | 2016.11.09 |
2841 - 외계인의 기타 연주 (0) | 2016.11.08 |
6135 - Cow Hurdles (0) | 2016.11.08 |
10546 - 배부른 마라토너 (2) | 2016.11.07 |