아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

두 접두사

면접 대비

시간 제한1초메모리 제한512 MB

요약
문자열 s와 t가 주어질 때, s의 비어 있지 않은 접두사와 t의 비어 있지 않은 접두사를 이어 붙여 만들 수 있는 서로 다른 문자열의 개수를 구한다.
난이도

보통10점 중 6점

유형
문자열, 문자열 매칭, 해시맵, 누적 합
정답자
아직 제출이 없습니다

문제

미샤는 오늘 수학 숙제를 또 해 오지 않았다. 벌로 담당 선생님인 앤드루 박사는 그에게 어렵지만 쓸모는 전혀 없는 과제를 하나 내주기로 했다.

앤드루 박사는 칠판에 알파벳 소문자로 이루어진 두 문자열 ss와 tt를 적었다. 그리고 미샤에게 접두사란 문자열의 마지막 문자 몇 개(0개일 수도 있다)를 지워서 얻는 문자열이고, 두 문자열의 연결이란 첫 번째 문자열 오른쪽에 두 번째 문자열을 이어 붙여 얻는 문자열이라고 일러 주었다.

선생님은 미샤에게 ss의 비어 있지 않은 접두사 하나와 tt의 비어 있지 않은 접두사 하나를 연결한 문자열을 모두 칠판에 적어 보라고 했다. 미샤가 그렇게 하자 앤드루 박사는 서로 다른 문자열이 몇 개인지 물었다. 미샤는 수업 시간을 거의 다 써서 이 과제를 끝냈다.

이제 그는 이 과제를 자동으로 해 주는 프로그램을 작성해 달라고 부탁한다.

입력

첫째 줄에 알파벳 소문자로 이루어진 문자열 ss가 주어진다. 둘째 줄에 알파벳 소문자로 이루어진 문자열 tt가 주어진다.

두 문자열의 길이는 10510^5을 넘지 않는다.

출력

ss의 비어 있지 않은 접두사 하나와 tt의 비어 있지 않은 접두사 하나를 연결해 만들 수 있는 서로 다른 문자열의 개수를 정수 하나로 출력한다.

힌트

첫 번째 예제에서 문자열 ss의 비어 있지 않은 접두사는 {a, ab, aba} 세 개다. 문자열 tt의 비어 있지 않은 접두사는 {a, aa} 두 개다. 미샤가 적은 서로 다른 문자열은 모두 다섯 개다: {aa, aaa, aba, abaa, abaaa}. 문자열 abaa는 두 번 적혔다.

두 번째 예제에서 미샤는 서로 다른 문자열 여덟 개를 적었다: {aa, aaa, aaaa, aaaaa, aaaaaa, aaaaaaa, aaaaaaaa, aaaaaaaaa}.

예제2

  1. 예제 1

    입력
    aba
    aa
    
    예상 출력
    5
    
  2. 예제 2

    입력
    aaaaa
    aaaa
    
    예상 출력
    8