일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- HTTP
- Level2
- 레벨2
- Spring Batch
- AWS
- MSA
- 스프링부트
- CircuitBreaker
- 세션
- 코드리뷰
- JPA
- 프리코스
- AOP
- 자바
- 프로그래머스
- 우테코
- REDIS
- mock
- 우아한테크코스
- 우아한세미나
- Docker
- 트랜잭션
- yml
- 백준
- 미션
- Paging
- 의존성
- JUnit5
- 스프링 부트
- 서블릿
Archives
- Today
- Total
늘
acmicpc_9935 (문자열 폭발) 본문
728x90
#include <iostream>
#include <string.h>
#include <cstring>
#include <vector>
using namespace std;
string c;
string s;
string boom;
int main() {
cin.sync_with_stdio(false);
cin.tie(NULL);
int del = 0;
cin >> c;
cin >> boom;
int i;
int last = boom.length() - 1;//boom의 마지막 문자
for (i = 0; i < c.length(); ++i) {
s += c[i];
if (boom[last] == c[i] && i>=last) {
del = 0;
for (int j = 1; j < boom.length(); ++j) {
if (boom[last - j] != s[s.size()-1 - j]) {
del = 1;
}
}
if (del == 0) {
for (int j = 0; j < boom.length();++j) {
s.pop_back();
}
}
}
}
if (s.size() == 0) {
cout << "FRULA";
}
else {
cout << s;
}
}
정말 내가 폭발해 버릴 뻔했던 문제.. 시간초과의 늪에서 빠져나오는데 너무 오래걸렸다.. 이 문제를 풀면서 vector보단 string이 빠르다는걸 char[]보다 string이 빠르다는걸 느꼈다.. 그저 string으로 바꿨을 뿐인데 2%->100%까지 바뀌다니.. 원인에 대해서 좀더 연구해 봐야 할것같다...
728x90
'알고리즘_백준 > 문자열' 카테고리의 다른 글
[백준] C/C++ acmicpc_5430 AC (0) | 2021.08.30 |
---|---|
c/c++ 백준_1342 행운의 문자열 (0) | 2021.07.27 |
acmicpc_19583(싸이버개강총회) (0) | 2021.02.23 |
acmicpc_9251 (LCS) (0) | 2020.10.26 |
Comments