ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 백준 1120번: 문자열
    문자열(String) 2018. 6. 29. 12:18
    반응형

    https://www.acmicpc.net/problem/1120


    1. 문제

    길이가 N으로 같은 문자열 X와 Y가 있을 때, 두 문자열 X와 Y의 차이는 X[i] ≠ Y[i]인 i의 개수이다. 예를 들어, X=”jimin”, Y=”minji”이면, 둘의 차이는 4이다. 두 문자열 A와 B가 주어진다. 이 때, A의 길이는 B의 길이보다 작거나 같다. 이제 A의 길이가 B의 길이와 같아질 때 까지 다음과 같은 연산을 할 수 있다. A의 앞에 아무 알파벳이나 추가한다. A의 뒤에 아무 알파벳이나 추가한다. 이 때, A와 B의 길이가 같으면서, A와 B의 차이를 최소로 하는 프로그램을 작성하시오.


    2. 알고리즘

    키워드 - 문자열 처리


    3. 코드


    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
    36
    37
    38
    39
    40
    41
    42
    #include <iostream>
    #include <sstream>
    #include <string>
    #include <algorithm>
    #include <functional>
    #include <vector>
    #include <list>
    #include <queue>
    #include <deque>
    #include <map>
    #include <set>
    #include <stack>
    #include <cstring>
    using namespace std;
     
    #define MAX_SIZE 100
    #define INF 0x7fffffff
     
    /*
    * @memory  - 1198 kb
    * @time    - 0 ms
    */
    int main() {
     
        cin.tie(0);
        std::ios::sync_with_stdio(false);
        string str1, str2;
        cin >> str1 >> str2;
        int sol = 987654321;
        for (int i = 0; i <= str2.size() - str1.size(); ++i) {
            int cand = 0;
            for (int j = 0; j < str1.size(); ++j) {
                if (str1[j] != str2[j + i])
                    cand++;
            }
            sol = min(sol, cand);
        }
        cout << sol;
     
        return 0;
    }
     
    cs

    반응형

    '문자열(String)' 카테고리의 다른 글

    백준 2789번: 유학 금지  (0) 2018.06.29
    백준 5586번: JOI와 IOI  (0) 2018.06.29
    백준 3986번: 좋은 단어  (0) 2018.06.27
    백준 5218번: 알파벳 거리  (0) 2018.06.27
    백준 10988번: 팰린드롬인지 확인하기  (0) 2018.06.27

    댓글

Designed by Tistory.