매드 사이언티스트

면접 대비

시간 제한2초메모리 제한512 MB

요약
H와 G로 이루어진 두 문자열 A와 B가 주어질 때, 부분 문자열을 뒤집어 모든 문자를 바꾸는 연산으로 B를 A로 만드는 최소 횟수를 구한다.
난이도

보통10점 중 4점

유형
그리디, 문자열, 구현, 수학
정답자
아직 제출이 없습니다

문제

Farmer John의 사촌 Ben은 매드 사이언티스트다. 보통은 이 때문에 가족 모임에서 마찰이 좀 생기지만, Farmer John이 소와 관련해 독특하고 별난 문제를 겪을 때는 가끔 도움이 되기도 한다.

Farmer John은 지금 소와 관련해 독특하고 별난 문제를 겪고 있다. 그는 최근에 두 종류의 품종, Holstein과 Guernsey로 이루어진 소 NN마리(1≤N≤10001 \leq N \leq 1000)를 주문했다. 주문할 때는 NN개의 문자로 이루어진 문자열로 소를 지정했고, 각 문자는 H(Holstein) 또는 G(Guernsey)다. 안타깝게도 소들이 농장에 도착해 줄을 세워 보니, 품종이 원래 문자열과 다른 문자열을 이루고 있었다.

이 두 문자열을 AA와 BB라고 하자. AA는 Farmer John이 원래 원했던 품종 표시 문자열이고, BB는 소들이 도착했을 때 그가 보는 문자열이다. Farmer John은 BB의 소들을 재배열하는 것만으로 AA를 얻을 수 있는지 확인하는 대신, 사촌 Ben에게 과학적 재능으로 이 문제를 풀어 달라고 부탁한다.

몇 달간의 연구 끝에 Ben은 multi-cow-breed-flipinator 3000이라는 놀라운 기계를 만든다. 이 기계는 소의 어떤 부분 문자열이든 골라 그 품종을 뒤집을 수 있다. 부분 문자열의 H는 모두 G가 되고, G는 모두 H가 된다. Farmer John은 이 기계를 최소 몇 번 적용해야 현재 순서 BB를 원래 원했던 순서 AA로 바꿀 수 있는지 알고 싶어 한다. 안타깝게도 Ben의 매드 사이언티스트 실력은 기발한 기계를 만드는 데까지만 미치므로, 이 계산 문제는 여러분이 도와야 한다.

입력

첫째 줄에 NN이 주어지고, 다음 두 줄에 문자열 AA와 BB가 주어진다. 각 문자열은 H 또는 G로 이루어진 NN개의 문자를 가진다.

출력

BB를 AA로 바꾸는 데 기계를 적용해야 하는 최소 횟수를 출력한다.

힌트

먼저 FJ는 첫 번째 문자 하나에 해당하는 부분 문자열을 바꿔서 BB를 GHGGGHH로 만들 수 있다. 다음으로 세 번째와 네 번째 문자로 이루어진 부분 문자열을 바꾸면 AA가 된다. 물론 기계를 두 번 적용하는 다른 조합도 통한다.

예제1

  1. 예제 1

    입력
    7
    GHHHGHH
    HHGGGHH
    
    예상 출력
    2