Facey McFaceface


47

누구나 Boaty를 기억 하십니까 ?

완전히 오래된 단어를 만들 수 있습니까?

  • 문자열을 Somethingy McSomethingface로 바꾸는 함수를 작성하십시오.
  • 하나의 문자열을 입력으로 받아 들여야합니다. 입력의 경우를 무시하십시오.
  • 단어가 'y'로 끝나는 경우 함수는 첫 번째 인스턴스에 추가 'y'를 추가하지 말고 두 번째 인스턴스에서 제거해야합니다.
  • 단어가 'ey'로 끝나는 경우 첫 번째 인스턴스에 추가 'y'가 없어야하지만 두 번째 인스턴스에서 둘 다 제거해야합니다.
  • 출력은 첫 번째 문자, 대문자 'Mc'의 'M'및 'Mc'다음의 첫 문자에만 대문자가 있어야합니다.
  • 3 자 이상의 문자열로만 작동하면됩니다.

예 :

boat                  =>  Boaty McBoatface
Face                  =>  Facey McFaceface
DOG                   =>  Dogy McDogface
Family                =>  Family McFamilface
Lady                  =>  Lady McLadface
Donkey                =>  Donkey McDonkface
Player                =>  Playery McPlayerface
yyy                   =>  Yyy McYyface
DJ Grand Master Flash =>  Dj grand master flashy McDj grand master flashface

줄의 공백은 어떻습니까? 그대로 두어야합니까? 예 : ' y'' '
내 몸 만지지

2
@Arnauld의 제안을 구현하고 최소 3 자로 만들 것입니다. 공백을 다른 문자처럼 취급하십시오.
AJFaraday


입력에 대문자와 소문자 만 포함한다고 가정 할 수 있습니까?
Kevin Cruijssen

@KevinCruijssen 나는 테스트 케이스에 비 편지를 넣지 않았으므로 효과적으로 걱정하지 않습니다.
AJFaraday

답변:


7

Stax , 26 바이트

ëO╛εh╕⌠î&!}∞┌C^U╟«äδ◙Bg⌠└¿

실행 및 디버깅

^           convert input to upper case                     "FACE"
B~          chop first character and push it back to input  70 "ACE"
v+          lowercase and concatenate                       "Face"
c'yb        copy, push "y", then copy both                  "Face" "Face" "y" "Face" "y"
:]          string ends with?                               "Face" "Face" "y" 0
T           trim this many character                        "Face" "Face" "y"
+           concatenate                                     "Face" "Facey"
p           output with no newline                          "Face"
"e?y$"z     push some strings                               "Face" "e?y$" ""
" Mc`Rface  execute string template; `R means regex replace " Mc Faceface"
            result is printed because string is unterminated

이것을 실행


15

V , 27 28 30 바이트

Vu~Ùóe¿y$
Hóy$
ÁyJaMc<Esc>Aface

온라인으로 사용해보십시오!

<Esc> 대표 0x1b

  • 3 자 미만의 입력을 지원할 필요가 없다는 것을 알게 된 후 2 바이트를 골퍼했습니다.

  • @DJMcMayhem 덕분에 첫 번째 줄 앞의 두 번째 줄에서 작업하여 1 바이트가 절약되었습니다. G

입력이 버퍼에 있습니다. 프로그램은 모든 것을 소문자로 변환하여 시작합니다

V줄을 선택하고 u소문자

~ 첫 문자의 대소 문자를 전환합니다 (대문자로 변환).

그리고 Ù맨 아래 줄에 커서를두고, 위의이 줄을 복제

ó대체합니다은 e¿y$의 압축 된 형태 e\?y$(선택 ey라인의 끝은) 아무것도 (두 번째 줄에서 발생)

H 첫 줄로 간다

óy$( y줄의 끝에서) 첫 줄에 아무것도없는 것으로 바꿉니다.

Áy첫 번째 줄의 끝에 a 를 추가합니다

J 중간에 공백이있는 첫 번째 행과 마지막 행을 결합하고 커서가이 공간으로 이동합니다.

a추가 Mc( <Esc>정상 모드로 돌아갑니다)

A마지막으로 face줄 끝에 추가



13

파이썬, 144 바이트

def f(s):
 s=s[0].upper()+s[1:].lower()
 y=lambda s:s[:-1]if s[-1]=='y'else s
 t=y(s)
 u=s[:-2]if s[-2:]=='ey'else y(s)
 return t+'y Mc%sface'%u

여기에서 온라인으로 사용해보십시오


2
내 최초의 코드 골프 시도 ...
내 몸

3
PPCG에 오신 것을 환영합니다! 온라인 으로 사용해보기 링크를 추가하는 것이 좋습니다 ! 정확성을 확인하기 위해?
Giuseppe

1
f("Face")현재 테스트 사례 ( TIO )를 준수하지 않습니다 .
Jonathan Frech

정확성을 위해 게시물을 수정하고 온라인으로 사용해보십시오! 링크
내 몸을


12

엑셀 204 144 137 165 바이트

=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(REPT(REPLACE(LOWER(A1),1,1,UPPER(LEFT(A1)))&"~",2),"~","y Mc",1),"yy ","y "),"ey~","~"),"y~","~"),"~","face")

안쪽에서 바깥쪽으로 :

REPLACE(LOWER(A1),1,1,UPPER(LEFT(A1)))      Replaces PROPER to handle space-delimited cases
REPT(%&"~",2)                   Duplicate.                    Donkey~Donkey~
SUBSTITUTE(%,"~","y Mc",1)      Replace first ~.              Donkeyy McDonkey~
SUBSTITUTE(%,"yy ","y ")        Handle words ending in 'y'.   Donkey McDonkey~
SUBSTITUTE(%,"ey~","~")         Handle words ending in 'ey'   Donkey McDonk~
SUBSTITUTE(%,"y~","~")          Handle words ending in 'y'    Donkey McDonk~
SUBSTITUTE(%,"~","face")        Adding face.                  Donkey McDonkface

이전 답변, 모든 비트를 개별적으로 만든 다음 연결 (176 바이트). 공백으로 구분 된 케이스를 올바르게 처리하지 않습니다.

=PROPER(A1)&IF(LOWER(RIGHT(A1,1))="y",,"y")&" Mc"&IF(LOWER(RIGHT(A1,2))="ey",LEFT(PROPER(A1),LEN(A1)-2),IF(LOWER(RIGHT(A1,1))="y",LEFT(PROPER(A1),LEN(A1)-1),PROPER(A1)))&"face"

불행히도 공백으로 구분 된 케이스를 처리해야하기 때문에 VBA 솔루션을 작업하는 동안 찾을 수있는 최선의 대안 PROPER(A1)은 유효하지 않습니다 ( DJ Grand Master Flash입력 사례 참조 ) LEFT(UPPER(A1))&MID(LOWER(A1),2,LEN(A1)).
Taylor Scott

1
@TaylorScott에게 감사합니다. 2 바이트 더 짧은 'REPLACE (LOWER (A1), 1,1, UPPER (LEFT (A1)))'를 찾았습니다.
Wernisch


9

C 번호 (.NET 코어) , 122 (108) 139 175 180 179 154 바이트

고마워, 리!

s=>((s.EndsWith("y")?s:s+"y")+" Mc"+(s+"$").Replace("ey$","")+"face").Replace(s,s.ToUpper()[0]+s.Substring(1).ToLower()).Replace("y$","").Replace("$","");

온라인으로 사용해보십시오!

C # (. NET Core, LINQ 포함), 152 바이트

s=>((s.Last()=='y'?s:s+"y")+" Mc"+(s+"$").Replace("ey$","")+"face").Replace(s,s.ToUpper()[0]+s.Substring(1).ToLower()).Replace("y$","").Replace("$","");

온라인으로 사용해보십시오!


3
사이트에 오신 것을 환영합니다! :)
DJMcMayhem


7

루비 , 61 49 바이트

->s{s.capitalize=~/(e)?y$|$/;"#$`#$1y Mc#$`face"}

온라인으로 사용해보십시오!

@MartinEnder 덕분에 12 바이트를 절약했습니다.


1
내 망막 응답에서 정규식을 사용하여 문자열 보간의 좀 더 활용하는 것은 49이 아래를 가져옵니다 tio.run/##DcxBCsIwEEDRqwxJBF3Y4lpSN0U3igcQwTQmGFptMVNkTOLVY3bvb/...
마틴 청산

@MartinEnder 와우, 그것은 상당히 다릅니다. 대괄호없이 문자열 보간을 보지 못했다고 생각합니다. 자신의 루비 답변에 사용하고 싶지 않다면 가져 가겠습니다.
iamnotmaynard

아냐, 괜찮아,을 사용 =~하는 대신 전체 문자열 을 사용 하고 작성 하지 않았을 것 sub입니다. 변수가 전역, 인스턴스 또는 클래스 변수 인 경우 대괄호없이 문자열 보간을 사용할 수 있습니다.
Martin Ender

-p플래그를 사용하고 다음을 사용 하여 44 + 1 바이트로 줄일 수 있습니다 sub. tio.run/…
Jordan




5

자바 (8) 121 112 107 106 바이트

s->(s=(char)(s.charAt(0)&95)+s.toLowerCase().substring(1)).split("y$")[0]+"y Mc"+s.split("e?y$")[0]+"face"

@ OliverGrégoire 덕분에 -1 바이트 .

설명:

온라인으로 사용해보십시오.

s->                         // Method with String as both parameter and return-type
  (s=                       //  Replace and return the input with:
     (char)(s.charAt(0)&95) //   The first character of the input as Uppercase
     +s.toLowerCase().substring(1))
                            //   + the rest as lowercase
  .split("y$")[0]           //  Remove single trailing "y" (if present)
  +"y Mc"                   //  Appended with "y Mc"
  +s.split("e?y$")[0]       //  Appended with the modified input, with "y" or "ey" removed
  +"face"                   //  Appended with "face"

첫 번째 문자가 알파벳이 아닌 경우 어떻게합니까? 아니면 우리는 그것에 대해 규칙을 추가 할 수 있습니다 ..
streetster

1
@streetster 방금 OP를 요청했는데 입력에 대문자 및 / 또는 소문자 만 포함 된 것 같습니다.
Kevin Cruijssen

1
~32-> 951 바이트 저장
Olivier Grégoire

@ OlivierGrégoire 비트 연산에 대해 조금 더 배우기 시작해야합니다 ..>.>
Kevin Cruijssen

4

자바 스크립트, 103 96 94 바이트

꽤 순진한 첫 번째 패스입니다.

s=>(g=r=>s[0].toUpperCase()+s.slice(1).toLowerCase().split(r)[0])(/y$/)+`y Mc${g(/e?y$/)}face`

온라인으로 사용해보십시오


s =>${s=s[0].toUpperCase()+s.slice(1).toLowerCase().replace(/y$/,``)}y Mc${s.replace(/e?y$/,``)}face
Benjamin Gruenbaum

하나 이하 : s =>${s=s[0].toUpperCase()+s.slice(1).toLowerCase().replace(/y$/,'')}y Mc${s.replace(/e$/,``)}face
Benjamin Gruenbaum

감사합니다, @BenjaminGruenbaum이지만 첫 번째는 실패 Donkey하고 두 번째는 실패 합니다 Face.
얽히고 설킨

마크 다운은 코드를 망치고 있습니다 : gist.github.com/benjamingr/8fec077b5436846cc9c52be353238037
Benjamin Gruenbaum

@ Shaggy 나는 일부 문자로 g 기능을 줄였습니다. :). 내 솔루션을 볼 수 있습니다
DanielIndie

3

vim, 35 34 바이트

Vu~Yp:s/ey$
:%s/y$
kgJiy Mc<ESC>Aface<ESC>

<ESC> 이다 0x1b

언 골프

Vu~                      # Caseify McCaseface
Yp                       # dup line
:s/ey$ 
:%s/y$                   # Get the suffixes right
kgJiy Mc<ESC>Aface<ESC>  # Join lines and add the extra chars

온라인으로 사용해보십시오!

DJMcMayhem 덕분에 1 바이트 절약


1
당신이 할 수있는 Y대신에yy
DJMcMayhem


3

C ++ 14 (g ++) 181 171 148 147 134 바이트

[](auto s){s[0]&=95;int i=1,b;for(;s[i];)s[i++]|=32;b=s[--i]-'y';return s+(b?"y":"")+" Mc"+(b?s:s.substr(0,s[i-1]-'e'?i:i-1))+"face";}

clang은 이것을 컴파일하지 않습니다.

신용은 Kevin CruijssenOlivier Grégoire 에게 갑니다 &95.

11 바이트를 골라 준 Chris 에게 감사 합니다.

여기에서 온라인으로 사용해보십시오 .

언 골프 버전 :

[] (auto s) { // lambda taking an std::string as argument and returning an std::string
    s[0] &= 95; // convert the first character to upper case
    int i = 1, // for iterating over the string
    b; // we'll need this later
    for(; s[i] ;) // iterate over the rest of the string
        s[i++] |= 32; // converting it to lower case
    // i is now s.length()
    b = s[--i] - 'y'; // whether the last character is not a 'y'
    // i is now s.length()-1
    return s + (b ? "y" : "") // append 'y' if not already present
    + " Mc"
    + (b ? s : s.substr(0, s[i-1] - 'e' ? i : i-1)) // remove one, two, or zero chars from the end depending on b and whether the second to last character is 'e'
    + "face";
}

나는 잘 ++ C 모르지만, 당신은 골프 9 바이트 수 : 온라인으로 시도 172 바이트를. 변화의 요약 : s[0]=s[0]&~32;s[0]&=~32;; s[i++]=s[i]|32;~에 s[i++]|=32; 그리고 int i=1,n=s.length()-1,b;그래서 당신은 단지 1이 필요합니다 int.
Kevin Cruijssen

아, 그리고 공간을 제거하여 하나 더 바이트#include<string>
Kevin Cruijssen

@KevinCruijssen 감사합니다. 편집했습니다.
OOBalance

while 루프 이후의 n값을 정의하지 않고 사용하여 11 바이트를 절약 할 수 있습니다 i. 온라인으로 사용해보십시오!
Chris

@Chris 감사합니다! 나는 2 바이트를 더 깎을 수 있었다.
OOBalance

2

V , 38 36 32 바이트

@Cows quack 덕분에 -5 바이트

Vu~hy$ó[^y]$/&y
A Mc<esc>póe¿y$
Aface

<esc>리터럴 이스케이프 문자이며 다음과 [^같이 인코딩됩니다.\x84

온라인으로 사용해보십시오!


gu$수 있습니다Vu
Kritixi Lithos

2
[^정규식 바로 가기 이므로 ( 여기 참조 ) [^바이트를 저장하는 대신 0x84를 사용할 수 있습니다 . 마찬가지로 다른 바이트를 저장하기 위해 \?단순화 할 수 있습니다 <M-?>. 그리고 $a=>A
Kritixi Lithos


2

파이썬 3 , 117114 바이트

Dead Possum 덕분에 -3 바이트

def f(s):s=s.title();return s+'y'*(s[-1]!='y')+' Mc'+([s,s[:-1],0,s[:-2]][(s[-1]=='y')+((s[-2:]=='ey')*2)])+'face'

온라인으로 사용해보십시오!


리스트의 3 번째 요소는 1 바이트를 저장 [s,s[:-1],'',s[:-2]하도록 변경 될 수 있습니다 0.
Dead Possum

에서가 'y'*1 *1필요하지 않습니다. 2 바이트 더
Dead Possum

파이썬 파이썬 3에서 2로 전환하고, 대신 return에은 print1 바이트 짧다.
Kevin Cruijssen

2

JavaScript (Node.js) , 87 바이트

  • 5 바이트를 줄인 @Shaggy 덕분에
s=>(g=r=>Buffer(s.replace(r,"")).map((x,i)=>i?x|32:x&~32))(/y$/)+`y Mc${g(/e?y$/)}face`

온라인으로 사용해보십시오!


2
비 재귀 함수의 이름을 지정할 필요는 없습니다.
Dennis

1
잘 했어요 나는 결코 사용 Buffer하려고 생각하지 않으며 , 미래의 도전을 위해 그것을 기억하려고 노력할 것입니다. 그것을 아래로있어 87 바이트 당신을 위해.
얽히고 설킨

2

K4 , 74 69 68 바이트

해결책:

{$[r;x;x,"y"]," Mc",_[r:0&1-2/:"ye"=2#|x;x:@[_x;0;.q.upper]],"face"}

예 :

q)k)f:{$[r;x;x,"y"]," Mc",_[r:0&1-2/:"ye"=2#|x;x:@[_x;0;.q.upper]],"face"}
q)f each ("boat";"Face";"DOG";"Family";"Lady";"Donkey";"Player")
"Boaty McBoatface"
"Facey McFaceface"
"Dogy McDogface"
"Family McFamilface"
"Lady McLadface"
"Donkey McDonkface"
"Playery McPlayerface"

설명:

마지막 문자가 같은지 알아 내고 "ey", 결과를 base-2로 변환하여 끝나는 단어를 무시할 수 있습니다 "e?". 자를 문자 수 목록으로 색인합니다.

마지막 두 문자가 있는지 확인하기 위해 내 코드에서 5 바이트를 면도 "ey"했지만 더 나은 결과를 얻으려고 애 쓰고 있습니다 ...

{$[r;x;x,"y"]," Mc",_[r:0&1-2/:"ye"=2#|x;x:@[_x;0;.q.upper]],"face"} / the solution
{                                                                  } / lambda function
                                                            ,"face"  / join with "face"
                    _[                  ;                  ]         / cut function
                                           @[_x; ;        ]          / apply (@) to lowercased input
                                                0                    / at index 0
                                                  .q.upper           / uppercase function
                                         x:                          / save back into x
                                      |x                             / reverse x
                                    2#                               / take first two chars of x
                               "ye"=                                 / equal to "ye"?
                             2/:                                     / convert to base 2
                           1-                                        / subtract from 1
                         0&                                          / and with 0 (take min)
                       r:                                            / save as r
             ," Mc",                                                 / join with " Mc"
 $[r;x;x,"y"]                                                        / join with x (add "y" if required)

보너스:

K (oK)의 67 바이트 포트 :

{$[r;x;x,"y"]," Mc",((r:0&1-2/"ye"=2#|x)_x:@[_x;0;`c$-32+]),"face"}

온라인으로 사용해보십시오!


1
oK 포트가 패배한다면 K4의 요점은 무엇입니까?
Zacharý

나는 생각하지 않았고 ASCII 값에서 32를 맹목적으로 빼서 첫 번째 문자가 알파벳이 아닌 경우 포트가 작동하지 않습니다. "상단"이 내장되어 있지 않습니다.
streetster

2

루비 , 69 바이트

->s{"#{(s.capitalize!||s)[-1]==?y?s:s+?y} Mc#{s.gsub /e?y$/,""}face"}

설명:

->s{                                                                } # lambda 
    "#{                                 } Mc#{                }face" # string interpolation
       (s.capitalize!||s) # returns string capitalized or nil, in that case just use the original string
                         [-1]==?y # if the last character == character literal for y
                                 ?s:s+?y # then s, else s + "y"
                                              s.gsub /e?y$/,"" # global substitute
                                                               # remove "ey" from end

온라인으로 사용해보십시오!


TIO 링크를 추가 할 수 있습니까? 루비를 모르지만 s.capitalize이전을 대체 s합니까? 그렇지 않은 경우,하지 /e?y$/테스트 케이스의 종료 처리 Y, EY또는 Ey제대로?
케빈 크루이 센

1
@ KevinCruijssen s.capitalizes.capitalize!(다른 기능). s.capitalize!이전 버전을 복제합니다.
dkudriavtsev

@KevinCruijssen TIO 링크를 추가했습니다.
dkudriavtsev

@KevinCruijssen 또한 설명을 추가했습니다
dkudriavtsev

아,에 대한 설명과 정보를 주셔서 감사합니다 s.capitalize!. 루비로 프로그래밍하지는 않았지만 이전 값을 대체하기 위해 설명 표시를 추가하는 것은 매우 좋습니다. 나에게서 +1
Kevin Cruijssen

2

JSTX , 27 바이트

h</►yT↓►y/◙♂ Mc♀/◄eyg►yg/íå

설명

      # Command line args are automatically loaded onto the stack
h     # Title case the top of the stack
<     # Duplicate the top value on the stack twice
/     # Print the top value on the stack
►y    # Load 'y' onto the stack
T     # Returns true if the 2nd element on the stack ends with the top
↓     # Execute block if the top of the stack is false
  ►y  # Load 'y' onto the stack
  /   # Print the top value on the stack
◙     # End the conditional block
♂ Mc♀ # Load ' Mc' onto the stack
/     # Print the top value on the stack
◄ey   # Load 'ey' onto the stack
g     # Delete the top of the stack from the end of the 2nd element on the stack if it exists
►y    # Load 'y' onto the stack
g     # Delete the top of the stack from the end of the 2nd element on the stack if it exists
/     # Print the top of the stack
íå    # Load 'face' onto the stack
      # Print with newline is implied as the program exits

온라인으로 사용해보십시오!


나는이 언어를 본 적이 없다. 재미있어 보인다. 문서가 있습니까?
재귀


와, 정말 인상적입니다. 특히 개발 시간이 거의 없습니다. 나는 이것이 어디로 가는지 기쁘게 생각합니다.
재귀

2

빨강 , 143142 바이트

func[s][s: lowercase s s/1: uppercase s/1
w: copy s if"y"<> last s[append w"y"]rejoin[w" Mc"parse s[collect keep to[opt["y"|"ey"]end]]"face"]]

온라인으로 사용해보십시오!

언 골프 드 :

f: func[s][
   s: lowercase s                      ; make the entire string lowercase
   s/1: uppercase s/1                  ; raise only its first symbol to uppercase 
   w: copy s                           ; save a copy of it to w
   if "y" <> last s[append w "y"]     ; append 'y' to w if it doesn't have one at its end
   rejoin[w                            ; assemble the result by joining:
          " Mc"
          ; keep the string until "y", "ey" or its end
          parse s[collect keep to [opt ["y" | "ey"] end]]
          "face"
    ]
]

2

PHP : 132

<?php function f($s){$s=ucfirst(strtolower($s));return $s.(substr($s,-1)=='y'?'':'y').' Mc'.preg_replace('/(ey|y)$/','',$s).'face';}

설명:

<?php

function f($s)
{
    // Take the string, make it all lowercase, then make the first character uppercase
    $s = ucfirst(strtolower($s));

    // Return the string, followed by a 'y' if not already at the end, then ' Mc'
    // and the string again (this time, removing 'y' or 'ey' at the end), then
    // finally tacking on 'face'.
    return $s
        . (substr($s, -1) == 'y' ? '' : 'y')
        . ' Mc'
        . preg_replace('/(ey|y)$/', '', $s)
        . 'face';
}


2

피스, 36 34 바이트

++Jrz4*\yqJK:J"e?y$"k+" Mc"+K"face

온라인으로 사용해보십시오!

설명:

++Jrz4*\yqJK:J"(e)?y$"k+" Mc"+K"face

  Jrz4                                  Set J to the titlecase of z (input)
           K:J"e?y$"k                   Set K to (replace all matches of the regex e?y$ in J with k (empty string))
         qJ                             Compare if equal to J
      *\y                               Multiply by "y" (if True, aka if no matches, this gives "y", else it gives "")
 +                                      Concatenate (with J)
                             +K"face    Concatenate K with "face"
                       +" Mc"           Concatenate " Mc" with that
+                                       Concatenate

슬프게도 마지막 테스트 사례가 실패하여 작동하지 않습니다.
Zacharý

전환 rz3하기 위해 rz4마지막 테스트 케이스가 제대로 작동하려면 얻을 수 있습니다.
hakr14

오 맙소사, 내가 고칠 께 : P
RK.

2

엘릭서 , 112 110 107 106 바이트

이제 자바만큼 짧다

fn x->x=String.capitalize x;"#{x<>if x=~~r/y$/,do: "",else: "y"} Mc#{String.replace x,~r/e?y$/,""}face"end

온라인으로 사용해보십시오!

설명:

x=String.capitalize x

x첫 문자는 대문자로, 다른 모든 문자는 소문자로 가져 옵니다.

#{ code }

코드를 평가하여 문자열에 삽입하십시오.

#{x<>if x=~ ~r/y$/, do: "", else: "y"}

xy 가 끝나지 않으면 y(즉, 정규식과 일치하지 않는) x 를 연결 y$합니다.

#{String.replace x, ~r/e?y$/, "")}

후행 ey과 후행을 제거합니다 y.



1

Pyth, 60 59 바이트 SBCS

K"ey"Jrz4Iq>2JK=<2J=kK.?=k\yIqeJk=<1J))%." s÷   WZÞàQ"[JkJ

테스트 스위트

그들은 여기에 표시되지 않지만, 3 바이트는, \x9c, \x82,와 \x8c사이의 압축 문자열에 s÷. 링크에는 링크가 포함되어 있습니다.

파이썬 3 번역 :
K="ey"
J=input().capitalize()
if J[-2:]==K:
    J=J[:-2]
    k=K
else:
    k="y"
    if J[-1]==k:
        J=J[:-1]
print("{}{} Mc{}face".format(J,k,J))
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.