본문 바로가기

전체 글13

[BOJ] 1701번: Cubeditor(C++) Problem Solution 1. 문자열의 길이를 N, 지금까지 나온 부분문자열 중 가장 긴 문자열의 길이를 M이라고 하자. 2. 문자열의 인덱스 i에서 시작하는 길이가 (M+1)인 문자열을 패턴, 인덱스 (i+1)부터 (N-1)인 문자열을 텍스트로 설정하여 KMP search를 진행한다. 3. 텍스트에서 매칭되는 문자열을 찾으면 패턴을 인덱스 i에서 시작하는 길이가 (M+2)인 문자열로 두고 진행한다. 4. 찾지 못한다면 인덱스를 1 증가시켜 패턴이 매칭되는지 확인한다 문자열 : abcab 인덱스 = 0, M = 0 텍스트 = bcab 패턴 = a 매칭 결과 : O 인덱스 = 0, M = 1 텍스트 = bcab 패턴 = ab 매칭 결과 : O 인덱스 = 0, M = 2 텍스트 = bcab 패턴 = a.. 2021. 12. 14.
[BOJ] 9935번: 문자열 폭발(C++) Problem Solution ❌ erase함수의 시간 복잡도는 O(N)이므로 erase함수를 사용하면 문제를 시간 내에 해결할 수 없다 1. 루프 문을 통해 문자열을 탐색하며 스택에 문자를 push 한다. 2. 만약 탐색한 문자가 폭발 문자열의 마지막 문자와 같으면 폭발 문자열의 길이만큼 스택에서 pop을 하여 폭발 문자열과 같은지 비교한다. 3. 스택에서 꺼낸 문자열과 폭발 문자열이 다르다면 꺼낸 문자들을 다시 스택에 넣는다. 4. 루프를 마치고 스택에 남아있는 문자열이 정답!! #include #include #include #include using namespace std; int main() { ios_base :: sync_with_stdio(false); cin.tie(NULL); cout.. 2021. 12. 12.
[UNI-DTHON 2021] 후기 UNI-DTHON은 고려대, 서울대, 성균관대, 숙명여대 등 총 8개의 SW 관련 단과대 및 학부/학과 단위 학생회 임원진 연합인 UNI-D가 개최한 대회로 해커톤 트랙과 데이터톤 트랙으로 나뉜다. 이번 대회에서는 재학생, 휴학생 모두 참여 가능하여 군인 신분으로 데이터톤 트랙에 참가하였다. 대략적인 주제는 미리 알려주고 구체적인 내용은 대회 당일에 공개된다(3일간 진행하는 것이라 이미지 분류 문제가 나올 것 같았다). 3일의 시간이 주어졌지만 마지막 날인 일요일 오전 7시까지 코드를 제출해야 했으므로 사실상 시간은 2일만 주어진 거나 다름없었다. 따로 학습 환경은 제공되지는 않아 나는 사지방에서 코랩으로 대회를 진행하였다. 평가는 깃헙에 추론 코드를 제출하면 운영진 측에서 추론 코드 + 테스트 데이터로.. 2021. 12. 9.