string

문제 링크 https://www.acmicpc.net/problem/9935 문제 요약 문자열 \(A\), \(B\)가 주어진다. \(B\)는 \(A\)안에서 연쇄적으로 사라질 때 최종적으로 남은 문자열이 무엇인지 출력하는 문제다. 문제 풀이 문자열이 연쇄적으로 사라진다는 점에 착안해서 \(A\)문자열을 앞에서부터 한 글자씩 답 문자열에 추가해 가면서 끝에서 \(B\)와 매칭이 되는가를 매번 확인해 준다. 매번 확인하면 시간내에 들어올까 하는 의문이 생길수도 있다. 하지만 \(A\)의 길이가 \(10^6\)데 비해 \(B\)의 길이는 최대 \(36\)밖에 안되기 때문에 매우 빠른속도에 통과하는것을 확인할 수 있다. 시간복잡도는 \(O(|A||B|)\)이다. 소스 코드 #include #include in..
여기를 클릭해주세요. 문제 링크 https://www.acmicpc.net/problem/10546 문제 요약 \(N\)개의 이름이 차례대로 주어진다. 그 뒤 \(N\)개의 이름 중 \(N - 1\)개가 차례대로 다시 주어진다. 이 때 다시 주어지지 않은 이름 한개를 찾는 문제다 문제 풀이 \(N\)이 최대 \(10^5\)이긴 하지만 한 이름의 길이가 최대 20밖에 안되기 때문에 \(map\)을 사용해 쉽게 해결할 수 있다. 한가지 주의할 점은 이름이 같은 사람이 존재하기 때문에 동일한 이름의 수를 세어주어야 한다. 소스 코드 더보기 #include #include #include using namespace std; map cnt; int n; char str[22]; int main() { scanf..
Ohnim · 오님
'string' 태그의 글 목록