술에 취한 아저씨 (지역 잠금에 대한 미안 ME와 AUS)는 Saturday Night Live의 가상의 인물입니다. 그는 종종 다른 사람들의 말처럼 혼란스러워합니다. 이 문제를 해결하려면 보통 말을 술취한 말로 바꿔야합니다.
연산
drunkspeak로 번역하려면 텍스트에서 단어의 순서를 바꾸어야합니다. 스와핑은 두 단어 의 술 취함 유사성 을 기반으로합니다 . 술 취함 유사성은 두 단어가 같은 색인에서 나타나는 글자 수로 정의됩니다 . 그러나 두 개의 동일한 단어는 술 취함 유사성이 -1 입니다. 예를 들어, tree
그리고 friend
둘 인덱스 1에서 'R'을 가지고 있기 때문에, 2의 음주 유사성을 가지고, 및 'E'인덱스 3에서.
텍스트에서 두 가지 단어가 술 취함 유사성이 가장 높은 것을 찾은 다음 서로 바꾸면됩니다. 두 용어를 바꾸면 더 이상 움직이지 않습니다. 그런 다음 나머지 교환 가능한 용어를보고 술 취함 유사성이 가장 높은 두 용어를 교환합니다. 더 이상 교체 할 수 없을 때까지이 작업을 계속합니다. 그런 다음 업데이트 된 텍스트를 출력하거나 함수에 대해 반환합니다.
사양
- 간단히하기 위해 입력은 [A-Za-z]의 문자로 구성된 단어 목록입니다.
- 모든 입력은 적어도 하나의 단어를 포함
- : 문자 일치하는 경우를 구분
A
과 일치a
( 주의 : 이 규칙으로 인해Dog
와dog
동일하며, 따라서의 DS가 -1) - 여러 쌍이 술 취함 유사성이 가장 높은 경우 :
- 즉, 술 취함 유사성을 극대화 할 수있는 목록에서 가장 낮은 색인을 가진 것을 선택하십시오.
- 그 단어를 술 취함 유사성을 최대화하는 가장 낮은 인덱스 단어와 연결
예
Drunk Uncle needs your help
(표제)- S 1 : 음주 <=> 귀하의 (DS : 1)
your Uncle needs Drunk help
- S 2 : 도움 <=> 도움말 (DS : 1)
your Uncle help Drunk needs
- 산출:
your Uncle help Drunk needs
- S 1 : 음주 <=> 귀하의 (DS : 1)
I love fidget spinners
(지루한 예)- S 1 : I = 사랑 (DS : 0)
love I fidget spinners
- S 2 : fidget <=> 스피너 (DS : 0)
love I spinners fidget
- S 1 : I = 사랑 (DS : 0)
dog eat dog ear
- S 1 : 먹다가 귀 (DS : 2)
dog ear dog eat
- S 2 : 개 <=> 개 (DS : -1)
dog ear dog eat
(이 단계는 형식적임)
- S 1 : 먹다가 귀 (DS : 2)
Let me tell you a story
- S 1 : 렛미 = (DS : 1)
me Let tell you a story
- S 2 : 말해 <=> 당신 (DS : 0)
me Let you tell a story
- S 3 : a <=> 이야기 (DS : 0)
me Let you tell story a
- S 1 : 렛미 = (DS : 1)
Too many money and purple people
- S 1 : 자색 사람 (DS : 4)
Too many money and people purple
- S 2 : 많은 <=> 돈 (DS : 2)
Too money many and people purple
- S 3 : 너무 큼 및 (DS : 0)
and money many Too people purple
- S 1 : 자색 사람 (DS : 4)
더 자세히 설명해달라고 알려주십시오.