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

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

오렌지먹은지오랜지

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

요약
한 문자열에서 첫 문자를 포함하는 부분 문자열과 마지막 문자를 포함하는 같은 길이의 부분 문자열 중 정확히 한 문자만 다른 쌍이 있는지 판정한다.
난이도

보통10점 중 5점

유형
문자열, 완전 탐색, 구현
정답자
아직 제출이 없습니다

문제

오렌지를 먹은 지 오래된 선생님은 부족한 비타민C를 문자열 문제를 통해 보충하려고 한다. "오렌지 먹은 지 오랜지"의 "오렌지", "오랜지"와 같이, 길이가 동일하며 각각 맨 앞, 맨 뒤 문자를 포함하는 어떤 두 부분 문자열이 앞에서부터 하나씩 비교했을 때 정확히 한 문자만 다른 경우, 전체 문자열을 "비타민 문자열"이라 부르려고 한다. 주어진 문자열이 "비타민 문자열"이면 YES, 아니면 NO를 출력하라.

두 문자열 ss와 tt가 있을 때 tt가 ss에서 연속해서 나타난다면 tt를 ss의 부분 문자열이라 한다. 예를 들어, abcdedc의 부분 문자열로는 ab, bcde, dedc, abcdedc 등이 있다.

두 부분 문자열은 겹쳐도 무방하며, 부분 문자열의 길이는 11 이상이어야 한다. aabaacaa는 맨 앞 문자를 포함하는 부분 문자열 aabaa와 맨 뒤 문자를 포함하는 동일한 길이의 부분 문자열 aacaa를 앞에서부터 하나씩 비교했을 때 정확히 한 문자가 다르기 때문에, 비타민 문자열에 해당한다.

입력

첫 번째 줄에 문자열의 길이 NN이 주어진다. (2≤N≤2 000)(2 \le N \le 2\ 000)

두 번째 줄에 문자열이 주어진다. 문자열은 알파벳 소문자로만 이루어져 있다.

출력

입력으로 주어진 문자열이 "비타민 문자열"이면 YES를, 아니면 NO를 출력한다.

예제3

  1. 예제 1

    입력
    15
    orangeateorenge
    
    예상 출력
    YES
    
  2. 예제 2

    입력
    2
    cc
    
    예상 출력
    NO
    
  3. 예제 3

    입력
    14
    aaaaaabaaaaaaa
    
    예상 출력
    YES