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

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

오타 자동 수정

면접 대비

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

요약
사전이 주어질 때 각 질의 단어를 올바른 단어, 첫 번째로 유사한 사전 단어의 오타, 알 수 없는 단어로 분류한다. 유사성은 세 가지 편집 유형으로 정의된다.
난이도

보통10점 중 5점

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

문제

오타를 자동으로 고쳐 주는 맞춤법 검사기를 만들려고 한다.

이 검사기가 고칠 수 있는 오타는 다음 세 가지뿐이다.

  1. 글자 하나를 덜 쓰거나(예: letter를 leter로) 더 쓴 경우(예: letter를 lettter로).
  2. 글자 하나를 잘못 쓴 경우(예: letter를 ketter로).
  3. 이웃한 두 글자의 순서가 바뀐 경우(예: letter를 lettre로).

검사기 안에는 단어 사전이 들어 있고, 이 사전으로 오타를 고친다. 사용자가 입력한 단어가 사전에 있으면 올바른 단어이다. 사전에 없으면 사전에 있는 단어 가운데 가장 비슷한 단어로 바꾼다.

단어 AA에 위의 세 가지 방법 가운데 하나를 딱 한 번 적용해 사전에 있는 단어 BB를 만들 수 있으면, 두 단어 AA와 BB는 비슷하다고 한다. 비슷한 단어가 사전에 하나도 없으면 알 수 없는 단어로 보고 고치지 않는다.

입력

첫째 줄에 사전에 있는 단어의 개수 nn이 주어진다. (n≤10000n \le 10000)

다음 nn개 줄에 사전 단어가 한 줄에 하나씩 주어진다.

그다음 줄에 검사할 단어의 개수 qq가 주어진다. (q≤1000q \le 1000)

다음 qq개 줄에 검사할 단어가 한 줄에 하나씩 주어진다.

모든 단어는 알파벳 소문자로만 이루어지며 길이는 11자 이상 2525자 이하이다.

출력

검사할 각 단어마다 한 줄씩, 입력으로 주어진 단어에 이어 다음 세 가지 중 하나를 출력한다.

  • w is correct: 그 단어가 사전에 있는 경우.
  • w is a misspelling of x: 그 단어가 사전에 없고, x가 사전에서 그 단어와 비슷한 단어인 경우. 비슷한 단어가 여러 개이면 입력에서 먼저 나온 단어를 출력한다.
  • w is unknown: 위의 두 경우가 아닌 경우.

여기서 w는 입력으로 주어진 검사 단어이다.

예제6

  1. 예제 1

    입력
    10
    this
    is
    a
    dictionary
    that
    we
    will
    use
    for
    us
    6
    su
    as
    the
    dictonary
    us
    willl
    
    예상 출력
    su is a misspelling of us
    as is a misspelling of is
    the is unknown
    dictonary is a misspelling of dictionary
    us is correct
    willl is a misspelling of will
    
  2. 예제 2

    입력
    3
    apple
    banana
    cherry
    3
    apple
    banana
    cherry
    
    예상 출력
    apple is correct
    banana is correct
    cherry is correct
    
  3. 예제 3

    입력
    2
    abc
    xyz
    2
    mmm
    pqr
    
    예상 출력
    mmm is unknown
    pqr is unknown
    
  4. 예제 4

    입력
    1
    abcd
    1
    abdc
    
    예상 출력
    abdc is a misspelling of abcd
    
  5. 예제 5

    입력
    1
    hello
    1
    helo
    
    예상 출력
    helo is a misspelling of hello
    
  6. 예제 6

    입력
    1
    hi
    1
    hii
    
    예상 출력
    hii is a misspelling of hi