반응형
어렵다ㅜㅜㅜ
이거 보다 쉬운 것 없나?
#include <iostream>
#include <cstring>
using namespace std;
char sent[16] = "TTABCABTABC";
char sent2[16] = "BCTABCABTT";
int result[3];
int head;int tail;
int main() {
cin >> sent >> sent2;
int len1 = strlen(sent);
int len2 = strlen(sent2);
if (len1 < len2) {
swap(sent, sent2);
}
for (int i = 0; i < len2;i++) {
head = i;
tail = head;
for (int j = 0;j < len1 - 1;j++) {
if (sent[j] == sent2[head] && sent[j+1] == sent2[head+1]) {
int lft = j;
int k = 0;
while (sent2[tail] == sent[lft]) {
k++;
tail++;
lft++;
}
if (result[0] < k) {
result[0] = k;
result[1] = head;
result[2] = tail;
}
}
}
}
for (int i = result[1]; i < result[2];i++) {
cout << sent2[i];
}cout << endl << endl;
}
원리는 2단어 이상 같으면 head, tail로 인덱스 저장하기
다만 for j = i라고 해서 계속 에러 났었음
input
TTABCABTABC
BCTABCABTT
output
TABCABT
반응형
'C언어 > 문제풀다 하나씩' 카테고리의 다른 글
ox로 재귀호출 프린트 간단 (0) | 2020.05.09 |
---|---|
순서 나열하기 간단 (0) | 2020.05.09 |
트리 구조 (0) | 2020.05.08 |
넣었다가 다시 값 빼기 그래프 간단 (0) | 2020.05.08 |
장애물이 있는 맵에서 위아래옆으로 움직이기 간단버전 (0) | 2020.05.01 |
while(out조건 써보기 ) 지렁이 수명문제 (0) | 2020.05.01 |
3칸짜라 톱니바퀴 네개 돌리기 세로로.. 간단 (0) | 2020.05.01 |
간단 합병정렬 (0) | 2020.05.01 |