Apakah kamu menyukai Taekwondo?

9

Choi Hong Hi meninggal pada tanggal 15 Juni 2002 pada usia 83 tahun. Ia mendirikan Taekwondo .

15 tahun setelah kematiannya, saya ingin menjadi master Taekwondo. Inilah waktu saya untuk bersinar!

Tugas

Diberikan string Anda harus menampilkan versi Taekwondo .

Aturan

  • Anda akan menerima string / kalimat yang tidak kosong oleh input yang valid
  • Anda harus mengganti setiap judul (peka huruf besar kecil) dengan romanisasi yang direvisi setara.
  • Anda harus menambahkan , *side kick*di akhir kalimat karena saya suka melakukan tendangan samping.
  • Anda harus menampilkan kalimat yang diubah ini sebagai string.
  • Ini adalah Anda harus meminimalkan jumlah byte jawaban Anda

Contohnya

"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*"

Daftar judul

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
Weedoze
sumber
1
case peka? dan dibutuhkan ruang sebelumnya*side kick*
LiefdeWen
10
@LiefdeWen Ruang ini jelas dibutuhkan. Bagaimana Anda bisa melakukan side kicktanpa ruang antara Anda dan lawan Anda?
Weedoze
1
Sebagai pria Korea, saya menyetujui tantangan ini. Tetapi saya harus mengatakan bahwa Geup(급) tidak benar-benar berarti 'siswa.' Haksaeng(학생) akan lebih baik. Juga, Anda akan menggunakan Sabeom nim(사범님) alih-alih Gyosa nim(교사 님) ketika datang ke instruktur seni bela diri, terlepas dari penguasaan (Kata Gyobeom nim(교범 님) ada, tetapi jarang digunakan).
JungHwan Min
2
side kickberbeda dariside-kick
sergiol
1
@sergiol Pertanyaan diperbarui
Weedoze

Jawaban:

2

Retina , 154 byte

i(`president|founder
Gwanjang_
master instructor
Sabeom_
teacher
Gyosa_
black belt
Dan
student|color belt
Geup
master level
Godanja
_
 nim
$
, *side kick*

Cobalah online!

Okx
sumber
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*");

Cobalah online!

Jörg Hülsermann
sumber
1
Seperti yang saya hitung, akan lebih pendek dengan str_ireplace().
manatwork
Tidak jelas apa “Anda harus menampilkan kalimat yang diubah ini sebagai string.” sebenarnya berarti, tetapi mengingat tendangan samping harus selalu ditambahkan, saya akan mengatakan kalimat akan selalu berubah, jadi sesuatu harus selalu menjadi output. Misalnya dalam hal input seperti "Me coder, no Taekwondo".
manatwork
@manatwork Dikatakan input yang valid. Di bawah input yang valid saya menganggap input dengan judul. Hitungan Anda dengan str_ireplacebenar
Jörg Hülsermann
1
Tampaknya ada cukup “nim” untuk layak variabel: [$a=Gwanjang.$n=" nim",$a,Sabeom.$n,Gyosa.$n,….
manatwork
@manatwork Ya itu menghemat dua byte. Saya telah mencoba versi dengan tambahan strtrtetapi tidak menyelamatkan apa pun
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*";}

Versi Lengkap / Terformat:

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();
    }
}
TheLethalCoder
sumber
Kita harus bertanya apakah *SIDE KICK*bisa dalam bentuk ini, dalam contoh itu
diturunkan
@ Mr.Xcoder Komentar pada OP mengatakan itu case-insensitive, bagaimanapun juga itu bukan perubahan dalam jumlah byte. Juga tendangan dalam huruf besar lebih kuat sehingga harus diizinkan ...
TheLethalCoder
1
Ya, hanya membuat pernyataan itu ... Jawaban ini Lethal lagian :))
Tn. Xcoder
1

Retina , 163 byte

i`President|Founder
Gwanjang¶
i`Master instructor
Sabeom¶
i`Teacher
Gyosa¶
i`Black Belt
Dan
i`Student|Color Belt
Geup
i`Master level
Godanja
¶
 nim
$
, *side kick*

Cobalah online!

ovs
sumber
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*"

demo

sergiol
sumber
@manatwork: diperbaiki.
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*")

Cobalah online!

officialaimm
sumber
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*'

Cobalah online!

Ini tidak sepadat mungkin karena JavaScript sangat bertele-tele, tapi ini pertanyaan yang bagus. Saya mengenali sebagian besar istilah ini karena saya adalah Sabuk Hitam Dan ke-2 di Taekwondo.

Penjelasan

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
andrewarchi
sumber
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*')

Darrylyeo
sumber