Bạn có thích Taekwondo không?


9

Choi Hong Hi qua đời vào ngày 15 tháng 6 năm 2002 ở tuổi 83. Ông thành lập Taekwondo .

15 năm sau cái chết của anh ấy, tôi muốn trở thành một võ sư Taekwondo. Đây là thời gian để tôi tỏa sáng!

Bài tập

Đưa ra một chuỗi bạn nên xuất ra một phiên bản Taekwondo .

Quy tắc

  • Bạn sẽ nhận được một chuỗi / câu không trống bằng bất kỳ đầu vào hợp lệ nào
  • Bạn phải thay thế từng tiêu đề (không phân biệt chữ hoa chữ thường) bằng cách tương đương phiên bản La Mã hóa .
  • Bạn phải thêm , *side kick*vào cuối câu vì tôi thích làm đá phụ.
  • Bạn phải xuất câu thay đổi này dưới dạng một chuỗi.
  • Đây là bạn nên cố gắng giảm thiểu số byte trong câu trả lời của mình

Ví dụ

"I am a Student and I do Taekwondo twice a week" 
  => "I am a Geup and I do Taekwondo twice a week, *side kick*"

"I am a Teacher willing to be a President" 
  => "I am a Gyosa nim willing to be a Gwanjang nim, *side kick*"

Danh sách các chức danh

English             =>  Revised Romanization
============================================
President           =>  Gwanjang nim
Founder             =>  Gwanjang nim
Master instructor   =>  Sabeom nim
Teacher             =>  Gyosa nim
Black Belt          =>  Dan
Student             =>  Geup
Color Belt          =>  Geup
Master level        =>  Godanja

1
trường hợp không nhạy cảm? và là một không gian cần thiết trước đây*side kick*
LiefdeWen

10
@LiefdeWen Không gian rõ ràng là cần thiết. Làm thế nào bạn có thể làm một side kickkhông có không gian giữa bạn và đối thủ của bạn?
Weedoze

1
Là một chàng trai Hàn Quốc, tôi chấp nhận thử thách này. Nhưng tôi phải nói rằng Geup() không thực sự có nghĩa là 'học sinh'. Haksaeng(학생) sẽ tốt hơn. Ngoài ra, bạn sẽ sử dụng Sabeom nim(и 범님) thay vì Gyosa nim(교 siêu 님) khi nói đến người hướng dẫn võ thuật, bất kể sự thông thạo (Từ Gyobeom nim(님) tồn tại, nhưng nó hiếm khi được sử dụng).
JungHwan Min

2
side kickkhác vớiside-kick
sergiol

1
@sergiol Câu hỏi được cập nhật
Weedoze

Câu trả lời:



3

PHP , 241 byte

<?=preg_replace(["#\b(President|Founder)\b#i","#\bMaster instructor\b#i","#\bTeacher\b#i","#\bBlack Belt\b#i","#\b(Studen|Color Bel)t\b#i","#\bMaster level\b#i"],[Gwanjang.$n=" nim",Sabeom.$n,Gyosa.$n,Dan,Geup,Godanja],"$argn, *side-kick*");

Hãy thử trực tuyến!


1
Khi tôi đếm, nó sẽ ngắn hơn với str_ireplace().
thao tác

Không rõ những gì bạn phải xuất ra câu thay đổi này dưới dạng một chuỗi. thực sự có nghĩa là, nhưng phải luôn luôn bổ sung cú đá bên, tôi sẽ nói rằng câu sẽ luôn thay đổi, vì vậy một cái gì đó phải luôn luôn là đầu ra. Ví dụ trong trường hợp đầu vào như coder của Me Me, không có Taekwondo đỉnh.
thao tác

@manatwork Người ta nói đầu vào hợp lệ. Theo đầu vào hợp lệ, tôi giả sử một đầu vào với một tiêu đề. Số đếm của bạn str_ireplacelà đúng
Jörg Hülsermann

1
Dường như có đủ các nim tinh để có giá trị một biến : [$a=Gwanjang.$n=" nim",$a,Sabeom.$n,Gyosa.$n,….
manatwork

@manatwork Có nó tiết kiệm hai byte. Tôi đã thử một phiên bản có bổ sung strtrnhưng nó không tiết kiệm được gì
Jörg Hülsermann

2

C #, 262 byte

s=>{for(int i=0;i<8;)s=s.ToUpper().Replace("PRESIDENT|FOUNDER|MASTER INSTRUCTOR|TEACHER|BLACK BELT|MASTER LEVEL|STUDENT|COLOR BELT".Split('|')[i],(i<2?"GWANJANG":i>3?"GEUP":"SABEOM|GYOSA|DAN|GODANJA".Split('|')[i-2])+(i++<4?" NIM":""));return s+", *SIDE KICK*";}

Phiên bản đầy đủ / được định dạng:

class Program
{
    static void Main(string[] args)
    {
        System.Func<string, string> f = s =>
        {
            for (int i = 0; i < 8;)
                s = s.ToUpper().Replace("PRESIDENT|FOUNDER|MASTER INSTRUCTOR|TEACHER|BLACK BELT|MASTER LEVEL|STUDENT|COLOR BELT".Split('|')[i],
                                        (i < 2 ? "GWANJANG"
                                               : i > 3 ? "GEUP"
                                                       : "SABEOM|GYOSA|DAN|GODANJA".Split('|')[i-2])
                                        + (i++ < 4 ? " NIM" : ""));

            return s + ", *SIDE KICK*";
        };

        System.Console.WriteLine(f("I am a Student and I do Taekwondo twice a week"));
        System.Console.WriteLine(f("I am a Teacher willing to be a President"));

        System.Console.ReadLine();
    }
}

Chúng ta nên hỏi nếu *SIDE KICK*có thể ở dạng này, trong các ví dụ, nó đã được hạ xuống
Ông Xcoder

@ Mr.Xcoder Nhận xét về OP nói rằng nó không phân biệt chữ hoa chữ thường, dù cách đó không phải là sự thay đổi về số lượng byte. Ngoài ra, một cú đá trong chữ hoa mạnh hơn nên được cho phép ...
TheLethalCoder

1
Vâng, chỉ cần đưa ra nhận xét đó ... Câu trả lời này là Lethal anyways :))
Ông Xcoder


0

tcl, 212

puts "[string map -nocase {President Gwanjang\ nim Founder Gwanjang\ nim Master\ instructor Sabeom\ nim Teacher Gyosa\ nim Black\ Belt Dan Student Geup Color\ Belt Geup Master\ level Godanja} $argv], *side kick*"

bản giới thiệu


@manatwork: đã sửa.
sergiol

0

Python 3 , 281 byte

import re
x=input();a="Gwanjang";b=" nim";c="Geup";d="Master";e=" Belt"
for i in range(8):x=re.sub("(?i)"+["President","Founder",d+" instructor","Teacher","Black"+e,"Student","Color"+e,d+" level"][i],[a+b,a+b,"Sabeom"+b,"Gyosa"+b,"Dan",c,c,"Godanja"][i],x)
print(x+", *side kick*")

Hãy thử trực tuyến!


0

JavaScript (ES6), 251 byte

a=>a.replace(RegExp(b='president|founder|master instructor|teacher|black belt|student|color belt|master level','gi'),c=>((d='Gwanjang nim|')+d+'Sabeom nim|Gyosa nim|Dan|Geup|Geup|Godanja').split`|`[b.split`|`.indexOf(c.toLowerCase())])+', *side kick*'

Hãy thử trực tuyến!

Điều này không nhỏ gọn như có thể vì JavaScript rất dài dòng, nhưng đó là một câu hỏi hay. Tôi nhận ra hầu hết các điều khoản này vì tôi là đai đen Dan thứ 2 trong Taekwondo.

Giải thích

a=>
  a.replace(                                    // Replace on input string
    RegExp(                                     // Regex matching English phrases
      b='president|founder|master instructor|teacher|black belt|student|color belt|master level',
      'gi'                                      // Match all, case insensitive
    ),
    c=>
      ((d='Gwanjang nim|')+d+                   // Duplicate string portion
        'Sabeom nim|Gyosa nim|Dan|Geup|Geup|Godanja') // Add remaining phrases
      .split`|`                                 // Split into array by pipe
        [b.split`|`.indexOf(c.toLowerCase())])  // Access Korean phrase by corresponding index of matched English phrase
      +', *side kick*'                          // I like to do side kicks

0

JavaScript (ES6), 233 byte

s=>(btoa`>·¬×§·mÁ©ãjx4)µ§uêö§©àÒx¦ÔƬµêô{-®ç-¢½i·¨IâTÞiÈ^¯a²¢Æ´)µV@^Ýj}R¶ç^Ýzêu
h¯@^Ýzêu1«-z½%z÷¥ØjjxÚ`.split(0).join` `.split`1`.map(d=>([a,b]=d.split(/2+/),s=s.replace(RegExp(a,'gi'),b))),s+', *side kick*"')


JavaScript (ES6), 243 byte

s=>(`President${A=':Gwanjang nim|'}Founder${A}Master instructor:Sabeom nim|Teacher:Gyosa nim|Black Belt:Dan|Student:Geup|Color Belt:Geup|Master level:Godanja`.split`|`.map(r=>([a,b]=r.split`:`,s=s.replace(RegExp(a,'gi'),b))),s+', *side kick*')

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.