<답안>
#include <iostream>
using namespace std;
int main()
{
ios::sync_with_stdio(0); cin.tie(NULL);
int t,n;
string before;
string after;
int Wcount = 0;
int Bcount = 0;
cin>>t;
while(t--)
{
cin>>n>>before>>after;
for(int i=0; i<n; i++)
{
if(after.at(i) != before.at(i))
{
if(before.at(i) == 'W')
Wcount++;
else
Bcount++;
}
}
if(Wcount > Bcount)
cout<<Wcount<<"\n";
else
cout<<Bcount<<"\n";
Wcount = 0;
Bcount = 0;
}
return 0;
}
<설명>
W가 다른 개수, B가 다른 개수를 각각 구한다음에 둘중 큰 수를 출력하면 되는 문제이다
잘생각해보면 count를 할 필요없이 큰수 자체가 바꾸는 총 수임을 알 수 있다
이전값, 이후값을 string 형태로 입력받아 인덱스 i=0부터 n-1까지 증가시키며 이전값과 이후값이 다른경우
만약 이전 입력값이 'W'경우 Wcount를 증가시킨다
만약 이전 입력값이 'B'경우 Bcount를 증가시킨다
그후 큰값을 출력하면 끝난다
'백준 > Inha Algorithm Study Group' 카테고리의 다른 글
DAY3 초급 - 백준 2828번 (C++) (0) | 2020.09.04 |
---|---|
DAY2 고급 - 백준 13022번 (C++) (0) | 2020.09.04 |
DAY2 초급 - 백준 11718, 11719번 (C++) (0) | 2020.09.03 |
DAY1 고급 - 백준 9660번 (C++) (0) | 2020.09.02 |
DAY1 중급 - 백준 13699번 (C++) (0) | 2020.09.02 |