[문제보기]

 석찬이의 받아쓰기

 

SW Expert Academy

SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!

swexpertacademy.com

 

[풀이방법]

 두 개의 문자열을 입력받아서 각 자리에 맞게 비교해준다.

 

[소스코드]

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

int main(){
    cin.tie(0);
    cout.sync_with_stdio(false);

    int T;
    cin >> T;
    for(int test = 1; test <= T; test++){
        int n, ans = 0;
        cin >> n;
        string s1, s2;
        cin >> s1 >> s2;
        for(int i=0; i<n; i++){
            if(s1[i] == s2[i])
                ans++;
        }
        cout << "#" << test << " " << ans << "\n";
    }
}

 

[해결과정 중 실수한 부분]

 문제를 풀고 나서 이게 D3 난이도의 문제인가 생각했다. 그래서 다른 사람들이 푼 풀이를 봤는데,

 char 배열 변수를 선언한 뒤 scanf를 썼을 때 마지막에 \0도 들어가는 것을 고려해서 n+1 길이의

 배열을 만들어야 되는데 이 부분에서 실수를 많이 한 모양이다.

 나는 char 배열을 사용한 게 아니라 string 자료형을 사용했기 때문에 자유로울 수 있었다.