RiseOJ는 solved.ac와 제휴 관계가 없습니다. 티어 아이콘 © solved.ac. solved.ac
포럼
R01556

타자 연습 점수

Bronze III 브론즈 III
난이도
2s
시간 제한
256MB
메모리 제한
0
맞았습니다!!
0
제출 수
0.0%
정답률
레이팅

의견: 0

설명

타자 연습 프로그램은 학생이 따라 쳐야 할 목표 문자열과 학생이 실제로 친 입력 문자열을 앞에서부터 한 글자씩 비교하여 점수를 매긴다.

두 문자열의 같은 위치에 있는 글자가 서로 같으면 \(+2\), 다르면 \(-1\)을 준다. 또한 한 문자열이 다른 문자열보다 짧아서 비교할 짝이 없는 위치(빠진 글자나 남는 글자)도 모두 틀린 것으로 보고 \(-1\)을 준다.

즉, 두 문자열의 길이가 다르면 더 긴 쪽의 길이만큼 위치를 비교하며, 짝이 없는 위치는 항상 \(-1\)점이다.

목표 문자열과 입력 문자열이 주어질 때, 학생이 받는 총점을 출력하는 프로그램을 작성하라.

예를 들어 목표가 hello, 입력이 hallo 이면 첫 번째 위치 h=h(\(+2\)), 두 번째 위치 ea(\(-1\)), 나머지 세 위치 l=l, l=l, o=o(\(+2\)씩) 이므로 총점은 \(2-1+2+2+2 = 7\) 이다.

제약

두 문자열은 공백을 포함하지 않는 출력 가능한 ASCII 문자로만 이루어진다.

각 문자열의 길이는 \(0\) 이상 \(200{,}000\) 이하이다.

입력 형식

첫째 줄에 목표 문자열이 주어진다.

둘째 줄에 학생이 친 입력 문자열이 주어진다.

두 문자열은 공백을 포함하지 않는 출력 가능한 ASCII 문자로만 이루어지며, 각 문자열의 길이는 \(0\) 이상 \(200{,}000\) 이하이다. (빈 줄은 길이가 \(0\)인 문자열을 의미한다.)

출력 형식

학생이 받는 총점을 한 줄에 출력한다.

예제 1
입력
hello
hallo
출력
7
설명

길이가 같은 두 문자열을 한 글자씩 비교한다.
h=h(+2), e≠a(-1), l=l(+2), l=l(+2), o=o(+2) → 7

예제 2
입력
abc
abcd
출력
5
설명

a=a(+2), b=b(+2), c=c(+2), 그리고 목표에 없는 'd'(-1) → 5

문제 정보

riseoj 작성

출처 Original

평가 및 의견

타자 연습 점수

개요
출제자 난이도 Bronze III 브론즈 III 의견 0 / 50 공개 집계 (커뮤니티 난이도, 주요 주제, 품질)는 의견이 충분히 모이면 공개됩니다.

Log in to rate problems.

개별 의견

아직 의견이 없습니다. 자격이 된다면 위 양식에서 가장 먼저 평가해 보세요.

풀이 제출

타자 연습 점수

게스트로 둘러보고 있습니다. 로그인하면 풀이를 제출하고 진행 상황을 확인할 수 있습니다. 로그인하고 제출하기
공개
C++20 Tab 들여쓰기 · Ctrl+/ 주석 토글 · Enter 자동 들여쓰기
1 1 1 0 공백: 4 · UTF-8