728x90
SMALL
for _ in range(int(input())):
n = int(input())
initial = input()
target = input()
b_diff = sum(1 for i in range(n) if initial[i] != target[i] and initial[i] == 'B')
w_diff = sum(1 for i in range(n) if initial[i] != target[i] and initial[i] == 'W')
print(max(b_diff, w_diff))
- 초기 문자열과 목표 문자열 간의 차이를 계산하고, 더 큰 차이를 나타내는 문자의 카운트를 출력하면 됩니다.
- 이것이 가능한 이유는 두 문자의 자리를 바꿔야 하는 과정은 하나의 작업으로 생각할 수 있고, (중복)
- 문자가 아예 바뀌어야 하는 경우에도 하나의 작업으로 생각되기 때문입니다.
728x90
LIST
'알고리즘 문제 > 랜덤 마라톤 (solved.ac)' 카테고리의 다른 글
🥉 27961번: 고양이는 많을수록 좋다 (0) | 2024.08.19 |
---|---|
🥈 27648번: 증가 배열 만들기 (0) | 2024.08.08 |
🥈 30980번: 여중생 파댕이와 공부를 (0) | 2024.07.29 |
🥈 21760번: 야구 시즌 (0) | 2024.07.26 |
🥉 5586번: JOI와 IOI (1) | 2024.07.25 |