백준(Python) 풀이/그리디 알고리즘

백준(Python) 18787번 Mad Scientist 풀이

개발윗미 2021. 12. 15. 10:15

Python으로 구현한 18787번 Mad Scientist 문제 풀이입니다.

 

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

 

18787번: Mad Scientist

First, FJ can transform the substring that corresponds to the first character alone, transforming $B$ into GHGGGHH. Next, he can transform the substring consisting of the third and fourth characters, giving $A$. Of course, there are other combinations of t

www.acmicpc.net


n = int(input())
a = input()
b = input()

result = 0
flag = False

for i in range(len(b)) :
  if flag == True or a[i] != b[i] :
    flag = True
  if flag == True and a[i] == b[i] :
    result += 1
    flag = False

print(result)

 

1. 반복문을 통해 a와 b의 문자를 하나씩 확인해나간다.

 

2. 만약 flag 값이 True이거나 현재 확인하고 있는 a와 b의 각 문자가 다를 경우 flag를 True로 갱신한다.

 

3. 다시 한번 조건문을 통해 flag값이 True이고 a와 b의 각 문자가 같을 경우 result를 1 증가시키고 다음 비교를 위해 flag 값을 False로 갱신한다.

 

4. 반복문이 종료되면 최종적으로 result값을 출력한다.