코딩테스트/SWExpertAcademy

석찬이의 받아쓰기 C++(SW Expert Academy, SWEA)

멍토 2020. 5. 27.

난이도 : D3

문제번호 : 9317

※ 저의 풀이가 무조건적인 정답은 아닙니다.

다른 코드가 좀더 효율적이고 좋을 수 있습니다.

다른사람들의 풀이는 언제나 참고만 하시기 바랍니다.

문제 주소 및 출처입니다.

https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AW-hOY5KeEIDFAVg&categoryId=AW-hOY5KeEIDFAVg&categoryType=CODE

 

SW Expert Academy

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

swexpertacademy.com


목차

1. 문제 설명

2. 문제 해석

3. 소스 코드


1. 문제 설명

아기 석찬이는 내년에 초등학교에 입학하지만 아직 알파벳을 떼지 못했다.
석찬이의 부모님은 그런 석찬이를 위해 알파벳을 공부할 수 있는 학습지를 구독하였다
.

학습지에는 길이 N
의 알파벳 대소문자로만 이루어진 문자열이 주어지는데, 석찬이는 대소문자를 제대로 구분해서 이 문자열을 받아 적어야 한다.

석찬이는 N
 개의 문자를 받아 적는 데는 성공했지만, 틀리게 적은 문자들이 몇 개 보인다.
석찬이가 몇 개의 문자를 올바르게 받아 적었는지 세어보자.

입력

첫 번째 줄에 테스트 케이스의 수 TC 가 주어진다.
이후 TC
 개의 테스트 케이스가 새 줄로 구분되어 주어진다.
각 테스트 케이스는 다음과 같이 구성되어 있다.

첫 번째 줄에 문자열의 길이 N 이 주어진다. (1 ≤ N ≤ 100,000)
두 번째 줄에 석찬이가 따라서 적어야 하는 문자열이 주어진다.
세 번째 줄에 석찬이가 받아 적은 문자열이 주어진다.
두 번째 줄과 세 번째 줄에 주어진 문자열은 모두 알파벳 대소문자로 구성되어 있고,
문자열의 길이는 첫 번째 줄에서 주어진 N 
이다.

출력

 테스트 케이스마다 ‘#t ’(t  테스트케이스 번호를 의미하며 1부터 시작한다) 출력하고,
석찬이가 맞게 받아 적은 문자의 개수를 출력하라. 틀린 개수가 아님에 유의하라.

예시

입력 출력
2
16
MyNameIsSeokChan
mynameisseokchan
15
SamsungSoftware
MembershipZzang
#1 11
#2 2

2. 문제풀이

문제풀이랄게 있나 싶다.

입력을 받고 작은 문자열기준으로 반복문을 돌려서 두개의 문자가 일치한다면 count하여 결과값을 리턴한다.

 


3. 소스코드

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
//D3 9317 석찬이의 받아쓰기
#include <iostream>
#include <string>
 
using namespace std;
 
int main(){
    int length;
    cin >> length;
    for(int t=1; t<=length; t++){
        int n, count = 0;
        string a, b ;
        cin >> n;
        cin >> a >> b;
        for(int i=0; i<n; i++){
            if(a[i] == b[i])count++;
        }
        cout << "#" << t << " " << count <<endl;
    }
    return 0;
}

 

댓글

💲 광고입니다.