반응형
문제 출처 :
https://www.acmicpc.net/problem/1120
알고리즘 분석 :
문제 해결에 필요한 사항
1. 단순한 생각
2. brute force
앞으로 넣거나 뒤로 넣어도 된다고 하여 deque를 이용한다, 스택, 큐를 이용한다는 그런 생각보다는
일단 이 문제의 최대 범위를 확인해보면 50밖에 안되니 그냥 brute force로 해결 할 수 있는 문제이다.
괜히 더 생각을 깊게하면 꼬이게 되고, 자칫하면 brute force보다 더 안좋은 결과를 초래할 수 있다.
이 코드는
A : abcd
B : abcdefg 면
A : abcd
B : abcdefg
A : abcd
B : abcdefg
A : abcd
B : abcdefg
이런식으로 비교하는 알고리즘이다.
소스 코드 :
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 32 33 34 35 | #include <iostream> #include <string> #define INF 9999 using namespace std; int main() { int d, min = INF; int lenA, lenB; string a, b; cin >> a >> b; lenA = a.length(); lenB = b.length(); for (int i = 0; i <= lenB - lenA; i++) { d = 0; for (int j = 0; j < lenA; j++) a[j] != b[i + j] ? d++ : 0; if (min > d) min = d; } cout << min; return 0; } // This source code Copyright belongs to Crocus // If you want to see more? click here >> | Crocus |
반응형
'Applied > 알고리즘 문제풀이' 카테고리의 다른 글
[13414번] 수강신청 (0) | 2016.11.06 |
---|---|
[2643번] 색종이 올려 놓기 (2) | 2016.11.06 |
[10824번] 네 수 (0) | 2016.11.03 |
[13420번] 사칙연산 (0) | 2016.11.03 |
[9934번] 완전 이진 트리 (0) | 2016.11.03 |