๐Ÿ’ป

[๋ฐฑ์ค€] ๊ทธ๋ฆฌ๋””์•Œ๊ณ ๋ฆฌ์ฆ˜ - 1120. ๋ฌธ์ž์—ด ๋ณธ๋ฌธ

์•Œ๊ณ ๋ฆฌ์ฆ˜/๋ฌธ์ œํ’€์ด Baekjoon

[๋ฐฑ์ค€] ๊ทธ๋ฆฌ๋””์•Œ๊ณ ๋ฆฌ์ฆ˜ - 1120. ๋ฌธ์ž์—ด

๋˜ํšจ๋‹ˆ 2020. 2. 28. 14:45

๋ฌธ์ œ

๊ธธ์ด๊ฐ€ N์œผ๋กœ ๊ฐ™์€ ๋ฌธ์ž์—ด X์™€ Y๊ฐ€ ์žˆ์„ ๋•Œ, ๋‘ ๋ฌธ์ž์—ด X์™€ Y์˜ ์ฐจ์ด๋Š” X[i] ≠ Y[i]์ธ i์˜ ๊ฐœ์ˆ˜์ด๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, X=”jimin”, Y=”minji”์ด๋ฉด, ๋‘˜์˜ ์ฐจ์ด๋Š” 4์ด๋‹ค.

๋‘ ๋ฌธ์ž์—ด A์™€ B๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ์ด๋•Œ, A์˜ ๊ธธ์ด๋Š” B์˜ ๊ธธ์ด๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™๋‹ค. ์ด์ œ A์˜ ๊ธธ์ด๊ฐ€ B์˜ ๊ธธ์ด์™€ ๊ฐ™์•„์งˆ ๋•Œ ๊นŒ์ง€ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์—ฐ์‚ฐ์„ ํ•  ์ˆ˜ ์žˆ๋‹ค.

  1. A์˜ ์•ž์— ์•„๋ฌด ์•ŒํŒŒ๋ฒณ์ด๋‚˜ ์ถ”๊ฐ€ํ•œ๋‹ค.
  2. A์˜ ๋’ค์— ์•„๋ฌด ์•ŒํŒŒ๋ฒณ์ด๋‚˜ ์ถ”๊ฐ€ํ•œ๋‹ค.

์ด๋•Œ, A์™€ B์˜ ๊ธธ์ด๊ฐ€ ๊ฐ™์œผ๋ฉด์„œ, A์™€ B์˜ ์ฐจ์ด๋ฅผ ์ตœ์†Œ๋กœ ํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค.

 

์ž…๋ ฅ

์ฒซ์งธ ์ค„์— A์™€ B๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. A์™€ B์˜ ๊ธธ์ด๋Š” ์ตœ๋Œ€ 50์ด๊ณ , A์˜ ๊ธธ์ด๋Š” B์˜ ๊ธธ์ด๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™๊ณ , ์•ŒํŒŒ๋ฒณ ์†Œ๋ฌธ์ž๋กœ๋งŒ ์ด๋ฃจ์–ด์ ธ ์žˆ๋‹ค.

 

์ถœ๋ ฅ

A์™€ B์˜ ๊ธธ์ด๊ฐ€ ๊ฐ™์œผ๋ฉด์„œ, A์™€ B์˜ ์ฐจ์ด๋ฅผ ์ตœ์†Œ๊ฐ€ ๋˜๋„๋ก ํ–ˆ์„ ๋•Œ, ๊ทธ ์ฐจ์ด๋ฅผ ์ถœ๋ ฅํ•˜์‹œ์˜ค.

 

์˜ˆ์ œ ์ž…๋ ฅ1

adaabc aababbc

 

์˜ˆ์ œ ์ถœ๋ ฅ1

2

 

์ƒ๊ฐ

A์™€ B์˜ ๊ธธ์ด๊ฐ€ ๋‹ค๋ฅผ ๋•Œ, ์ฐจ์ด๋ฅผ ์ตœ์†Œํ™” ํ•˜๋Š” ๋ฐฉํ–ฅ์œผ๋กœ A์˜ ๊ธธ์ด๋ฅผ B์™€ ๊ฐ™๊ฒŒ ํ•˜๋Š” ๊ฒŒ ์ด ๋ฌธ์ œ์˜ ํ•ต์‹ฌ์ธ ๊ฑฐ ๊ฐ™๋‹ค.

์ฒ˜์Œ์—๋Š” ๋‘ ๋ฌธ์ž์—ด์˜ ๊ธธ์ด ์ฐจ๋ฅผ ๊ตฌํ•ด ์•ž์ด๋‚˜ ๋’ค์— ๋ฌธ์ž๋ฅผ ๋„ฃ์–ด์„œ ๊ฐ’์„ ๊ตฌํ•˜๋ ค๊ณ  ํ–ˆ๋‹ค. ๊ทผ๋ฐ ๊ทธ๋ƒฅ A๋ฌธ์ž๋ฅผ B๋ฌธ์ž์™€์˜ ์ฐจ์ด๋งŒํผ ์ด๋™์‹œ์ผœ์„œ ํ’€๋ฉด๋˜๋Š” ๋ฌธ์ œ๋‹ค.

 

a d a a b c

a a b a b b c

------------

0 1 1 0 0 1 0  => 3

 

   a d a a b c

a a b a b b c

------------

0 0 1 0 1 0 0  => 2 

 

1. ์ฒ˜์Œ์—๋Š” ๋ฐฐ์—ด์„ ๋งŒ๋“ค์–ด์„œ ์ธ๋ฑ์Šค๋ฅผ ์ฆ๊ฐ€์‹œํ‚ค๋ฉด์„œ ๋น„๊ตํ•ด์„œ ๊ฐ™์œผ๋ฉด 0 ๋‹ค๋ฅด๋ฉด 1์„ ๋„ฃ์–ด์ฃผ๋ ค๊ณ  ํ–ˆ๋‹ค. 

2. ๋ฐฐ์—ด ํ•„์š” ์—†์ด cnt์ด๋ผ๋Š” ๋ณ€์ˆ˜๋ฅผ ์จ์„œ ๋‹ค๋ฅธ ๋ฌธ์ž์ผ๋•Œ๋งˆ๋‹ค ์ฆ๊ฐ€์‹œ์ผœ์คฌ๋‹ค.

3. b์˜ ๋ฌธ์ž์—ด์„ ๋น„๊ตํ• ๋•Œ i+j๋ฅผ ์ด์šฉํ•ด์„œ j๋Š” ๋‘ ๋ฌธ์ž์—ด ๊ธธ์ด์˜ ์ฐจ๊นŒ์ง€๋กœ for๋ฌธ์„ ๋Œ๋ ธ๋‹ค. 

4. min๊ฐ’์„ ์–ด๋–ป๊ฒŒ ๊ณ„์‚ฐํ•ด์•ผํ• ๊นŒ ํ–ˆ๋Š”๋ฐ, sum์ด๋ผ๋Š” ๋ณ€์ˆ˜๋ฅผ ๋‘๊ณ  ์—„์ฒญ ํฐ ์ˆ˜ 999999๋กœ ์ดˆ๊ธฐํ™”ํ•ด๋‘๊ณ  ์•ˆ์˜ for๋ฌธ์ด ๋๋‚ ๋•Œ๋งˆ๋‹ค minํ•จ์ˆ˜๋ฅผ ์ด์šฉํ•ด์„œ ๋น„๊ตํ•˜๋Š” ๊ฒƒ์œผ๋กœ ํ•˜์˜€๋‹ค. 

3. ๋ฌธ์ž์—ด ๊ธธ์ด๊ฐ€ ๊ฐ™์„ ๋•Œ๋ž‘ ๋‹ค๋ฅผ ๋•Œ๋ฅผ if else๋ฌธ์œผ๋กœ ๋”ฐ๋กœ ์ผ€์ด์Šค๋ฅผ ๋‘๊ณ  ์ƒ๊ฐํ–ˆ๋Š”๋ฐ ๋งˆ์ง€๋ง‰์— ๋”ฐ๋กœ ์ผ€์ด์Šค๋ฅผ ๋‚˜๋ˆ„์–ด๋„ ๋˜์ง€ ์•Š์•„์„œ ํ•ฉ์ณค๋‹ค. 

 

 

์ž‘์„ฑํ•œ ์ฝ”๋“œ

#include <iostream>
#include <algorithm>
using namespace std;

string a, b;
int sum=9999999;

int main(int argc, const char * argv[]) {
    // insert code here...
    ios_base::sync_with_stdio(false);
    cin.tie(0);
    
    cin >> a >> b;

    for(int j=0; j<=b.length()-a.length(); j++){
        int cnt = 0;
        for(int i=0; i<a.size(); i++){
            if(a[i] != b[i+j])
                cnt ++;
        }
        sum = min(cnt, sum);
    }
    cout << sum << "\n";
    
    return 0;
}
๋ฐ˜์‘ํ˜•
Comments