본문 바로가기

알고리즘 (2020 : 08 : 10 ~ )/문자열

(11)
[백준 / BOJ] 1701 Cubeditor 문제 출처 : www.acmicpc.net/problem/1701 1701번: Cubeditor Cubelover는 프로그래밍 언어 Whitespace의 코딩을 도와주는 언어인 Cubelang을 만들었다. Cubelang을 이용해 코딩을 하다보니, 점점 이 언어에 맞는 새로운 에디터가 필요하게 되었다. 오랜 시간 고생한 www.acmicpc.net Cubelover는 텍스트 에디터 Cubeditor를 만들었다. 이 에디터가 다른 에디터와 다른점은, 찾을려하는 문자열이 2번이상 존재해야지 찾는것이다. 예를들어, ababac에서 aba를 찾을려하면 ababac 이렇게 찾을수있다. c를 찾을려하면 c는 한번밖에 나오지 못하므로 찾지못한다. 풀이 완전탐색으로 풀려할경우, 약 5000^3 반복할수있어서 시간초과가..
[백준 / BOJ] 9935 문자열 폭발 문제 출처 : www.acmicpc.net/problem/9935 9935번: 문자열 폭발 첫째 줄에 문자열이 주어진다. 문자열의 길이는 1보다 크거나 같고, 1,000,000보다 작거나 같다. 둘째 줄에 폭발 문자열이 주어진다. 길이는 1보다 크거나 같고, 36보다 작거나 같다. 두 문자열은 모 www.acmicpc.net 문자열이 주어지고, 폭발 문자열이 주어진다. 문자열에서 폭발문자열이 있는경우 해당 폭발문자열은 사라지게된다. 예를들어, CaaaabbbbC ab 인경우 가운데 부터 순서대로 사라져서 마지막에 CC만 남게된다. 풀이 문자열의 최대길이가 백만이므로 일반적인 완전탐색으로는 시간초과가 난다. 스택의 특징을 사용해서 구현했다. 구현은 간단한데 1. 문자열을 하나하나 deq에 넣으면서 탐색한다..
[백준 / BOJ] 2941 크로아티아 알파벳 문제 출처 : www.acmicpc.net/problem/2941 2941번: 크로아티아 알파벳 예전에는 운영체제에서 크로아티아 알파벳을 입력할 수가 없었다. 따라서, 다음과 같이 크로아티아 알파벳을 변경해서 입력했다. 크로아티아 알파벳 변경 č c= ć c- dž dz= đ d- lj lj nj nj š s= ž z= www.acmicpc.net 문자열을 입력받았을때, 해당 문자열에서 크로아티아 알파벳이 몇개있는지 찾는 문제이다. 풀이 완전탐색으로 풀리는 문제다. 문자열의 최대 길이가 100이므로 모든경우를 다 보면서 크로아티아 알파벳을 찾아줘도 되지만, 해당 방법은 비효율적이다. 문제에서 주어진 크로아티아 알파벳들을 보면 규칙을 찾을수있는데, 바로 크로아티아 알파벳은 'j', '=' , '-' 셋중 ..