Translate English to Corpus
The Corpus are a fictional faction from the popular video game Warframe who have a somewhat interesting language.
Whilst other factions in the game such as the Grineer have some logic behind their language, the Corpus is simply a lossy substitution of the English language.
All Corpus words are the same as their English counterparts, except with the following alphabetical mappings:
This causes some problems with pronunciation as:
yes
becomes yey
say
becomes yay
yay
becomes yay
sassy
becomes yayyy
case
becomes yaye
Here's a text version of the mappings:
a -> a
b -> t
c -> y
d -> p
e -> e
f -> t
g -> j
h -> k
i -> i
j -> t
k -> k
l -> p
m -> s
n -> t
o -> o
p -> k
q -> r
r -> t
s -> y
t -> p
u -> u
v -> t
w -> j
x -> k
y -> y
z -> b
The challenge
Given text using the English alphabet, output its Corpus translation.
For example, the text Hello, World!
becomes Keppo, Jotpp!
in Corpus
The Rules
- Input will only consist of ASCII printable characters
- Input text may contain whitespace and punctuation, these must be preserved
- Capitalization of letters must be preserved
- This is code-golf so naturally, fewest bytes wins!
The Testcases
Test cases are separated with <===========>
, with a blank line between input and expected output
Hello, World!
Keppo, Jotpp!
<===========>
Yes
Yey
<===========>
TestcaSe
PeypyaYe
<===========>
Programming Puzzles and Code Golf
Ktojtassitj Kubbpey atp Yope Jopt
<===========>
This text has a
newline in it
Pkiy pekp kay a
tejpite it ip
<===========>
Corpus language best language
Yotkuy patjuaje teyp patjuaje
<===========>
Strip the flesh! Salt the wounds!
Yptik pke tpeyk! Yapp pke joutpy!
<===========>
"Install Warframe" they said, "It'll be fun" they said
"Itypapp Jatttase" pkey yaip, "Ip'pp te tut" pkey yaip
<===========>
What the **** did you just ****ing say about me, you little *****?
I'll have you know I graduated top of my class in the Navy Seals,
and I've been involved in numerous secret raids on Al-Quaeda,
and I have over 300 confirmed kills.
Jkap pke **** pip you tuyp ****itj yay atoup se, you pipppe *****?
I'pp kate you ktoj I jtapuapep pok ot sy ypayy it pke Taty Yeapy,
atp I'te teet ittoptep it tusetouy yeytep taipy ot Ap-Ruaepa,
atp I kate otet 300 yottitsep kippy.
The Bonus
If you also include an audio recording (or video with audio) of you pronouncing each of the testcase's Corpus translations, you may multiply your bytecount by 1
as a reward.
code-golf text-processing
|
show 2 more comments
The Corpus are a fictional faction from the popular video game Warframe who have a somewhat interesting language.
Whilst other factions in the game such as the Grineer have some logic behind their language, the Corpus is simply a lossy substitution of the English language.
All Corpus words are the same as their English counterparts, except with the following alphabetical mappings:
This causes some problems with pronunciation as:
yes
becomes yey
say
becomes yay
yay
becomes yay
sassy
becomes yayyy
case
becomes yaye
Here's a text version of the mappings:
a -> a
b -> t
c -> y
d -> p
e -> e
f -> t
g -> j
h -> k
i -> i
j -> t
k -> k
l -> p
m -> s
n -> t
o -> o
p -> k
q -> r
r -> t
s -> y
t -> p
u -> u
v -> t
w -> j
x -> k
y -> y
z -> b
The challenge
Given text using the English alphabet, output its Corpus translation.
For example, the text Hello, World!
becomes Keppo, Jotpp!
in Corpus
The Rules
- Input will only consist of ASCII printable characters
- Input text may contain whitespace and punctuation, these must be preserved
- Capitalization of letters must be preserved
- This is code-golf so naturally, fewest bytes wins!
The Testcases
Test cases are separated with <===========>
, with a blank line between input and expected output
Hello, World!
Keppo, Jotpp!
<===========>
Yes
Yey
<===========>
TestcaSe
PeypyaYe
<===========>
Programming Puzzles and Code Golf
Ktojtassitj Kubbpey atp Yope Jopt
<===========>
This text has a
newline in it
Pkiy pekp kay a
tejpite it ip
<===========>
Corpus language best language
Yotkuy patjuaje teyp patjuaje
<===========>
Strip the flesh! Salt the wounds!
Yptik pke tpeyk! Yapp pke joutpy!
<===========>
"Install Warframe" they said, "It'll be fun" they said
"Itypapp Jatttase" pkey yaip, "Ip'pp te tut" pkey yaip
<===========>
What the **** did you just ****ing say about me, you little *****?
I'll have you know I graduated top of my class in the Navy Seals,
and I've been involved in numerous secret raids on Al-Quaeda,
and I have over 300 confirmed kills.
Jkap pke **** pip you tuyp ****itj yay atoup se, you pipppe *****?
I'pp kate you ktoj I jtapuapep pok ot sy ypayy it pke Taty Yeapy,
atp I'te teet ittoptep it tusetouy yeytep taipy ot Ap-Ruaepa,
atp I kate otet 300 yottitsep kippy.
The Bonus
If you also include an audio recording (or video with audio) of you pronouncing each of the testcase's Corpus translations, you may multiply your bytecount by 1
as a reward.
code-golf text-processing
@Shaggy Sure, shoulda thought of that
– Skidsdev
Dec 20 at 19:25
4
@RobertS. it also provides no bonus to your score (x * 1 == x
). It's a tongue-in-cheek poke at the unpronouncability of many of the translations
– Skidsdev
Dec 20 at 19:38
Can output be an array of characters?
– ElPedro
Dec 20 at 21:23
@Skidsdev The "translations" are pronounceable; either as a recorded human voice or programmatically using machine learning and/or text-to-speech technologies.
– guest271314
Dec 20 at 22:19
@ngn oops my bad, copied from reddit :P
– Skidsdev
Dec 21 at 13:44
|
show 2 more comments
The Corpus are a fictional faction from the popular video game Warframe who have a somewhat interesting language.
Whilst other factions in the game such as the Grineer have some logic behind their language, the Corpus is simply a lossy substitution of the English language.
All Corpus words are the same as their English counterparts, except with the following alphabetical mappings:
This causes some problems with pronunciation as:
yes
becomes yey
say
becomes yay
yay
becomes yay
sassy
becomes yayyy
case
becomes yaye
Here's a text version of the mappings:
a -> a
b -> t
c -> y
d -> p
e -> e
f -> t
g -> j
h -> k
i -> i
j -> t
k -> k
l -> p
m -> s
n -> t
o -> o
p -> k
q -> r
r -> t
s -> y
t -> p
u -> u
v -> t
w -> j
x -> k
y -> y
z -> b
The challenge
Given text using the English alphabet, output its Corpus translation.
For example, the text Hello, World!
becomes Keppo, Jotpp!
in Corpus
The Rules
- Input will only consist of ASCII printable characters
- Input text may contain whitespace and punctuation, these must be preserved
- Capitalization of letters must be preserved
- This is code-golf so naturally, fewest bytes wins!
The Testcases
Test cases are separated with <===========>
, with a blank line between input and expected output
Hello, World!
Keppo, Jotpp!
<===========>
Yes
Yey
<===========>
TestcaSe
PeypyaYe
<===========>
Programming Puzzles and Code Golf
Ktojtassitj Kubbpey atp Yope Jopt
<===========>
This text has a
newline in it
Pkiy pekp kay a
tejpite it ip
<===========>
Corpus language best language
Yotkuy patjuaje teyp patjuaje
<===========>
Strip the flesh! Salt the wounds!
Yptik pke tpeyk! Yapp pke joutpy!
<===========>
"Install Warframe" they said, "It'll be fun" they said
"Itypapp Jatttase" pkey yaip, "Ip'pp te tut" pkey yaip
<===========>
What the **** did you just ****ing say about me, you little *****?
I'll have you know I graduated top of my class in the Navy Seals,
and I've been involved in numerous secret raids on Al-Quaeda,
and I have over 300 confirmed kills.
Jkap pke **** pip you tuyp ****itj yay atoup se, you pipppe *****?
I'pp kate you ktoj I jtapuapep pok ot sy ypayy it pke Taty Yeapy,
atp I'te teet ittoptep it tusetouy yeytep taipy ot Ap-Ruaepa,
atp I kate otet 300 yottitsep kippy.
The Bonus
If you also include an audio recording (or video with audio) of you pronouncing each of the testcase's Corpus translations, you may multiply your bytecount by 1
as a reward.
code-golf text-processing
The Corpus are a fictional faction from the popular video game Warframe who have a somewhat interesting language.
Whilst other factions in the game such as the Grineer have some logic behind their language, the Corpus is simply a lossy substitution of the English language.
All Corpus words are the same as their English counterparts, except with the following alphabetical mappings:
This causes some problems with pronunciation as:
yes
becomes yey
say
becomes yay
yay
becomes yay
sassy
becomes yayyy
case
becomes yaye
Here's a text version of the mappings:
a -> a
b -> t
c -> y
d -> p
e -> e
f -> t
g -> j
h -> k
i -> i
j -> t
k -> k
l -> p
m -> s
n -> t
o -> o
p -> k
q -> r
r -> t
s -> y
t -> p
u -> u
v -> t
w -> j
x -> k
y -> y
z -> b
The challenge
Given text using the English alphabet, output its Corpus translation.
For example, the text Hello, World!
becomes Keppo, Jotpp!
in Corpus
The Rules
- Input will only consist of ASCII printable characters
- Input text may contain whitespace and punctuation, these must be preserved
- Capitalization of letters must be preserved
- This is code-golf so naturally, fewest bytes wins!
The Testcases
Test cases are separated with <===========>
, with a blank line between input and expected output
Hello, World!
Keppo, Jotpp!
<===========>
Yes
Yey
<===========>
TestcaSe
PeypyaYe
<===========>
Programming Puzzles and Code Golf
Ktojtassitj Kubbpey atp Yope Jopt
<===========>
This text has a
newline in it
Pkiy pekp kay a
tejpite it ip
<===========>
Corpus language best language
Yotkuy patjuaje teyp patjuaje
<===========>
Strip the flesh! Salt the wounds!
Yptik pke tpeyk! Yapp pke joutpy!
<===========>
"Install Warframe" they said, "It'll be fun" they said
"Itypapp Jatttase" pkey yaip, "Ip'pp te tut" pkey yaip
<===========>
What the **** did you just ****ing say about me, you little *****?
I'll have you know I graduated top of my class in the Navy Seals,
and I've been involved in numerous secret raids on Al-Quaeda,
and I have over 300 confirmed kills.
Jkap pke **** pip you tuyp ****itj yay atoup se, you pipppe *****?
I'pp kate you ktoj I jtapuapep pok ot sy ypayy it pke Taty Yeapy,
atp I'te teet ittoptep it tusetouy yeytep taipy ot Ap-Ruaepa,
atp I kate otet 300 yottitsep kippy.
The Bonus
If you also include an audio recording (or video with audio) of you pronouncing each of the testcase's Corpus translations, you may multiply your bytecount by 1
as a reward.
code-golf text-processing
code-golf text-processing
edited Dec 21 at 13:45
asked Dec 20 at 19:10
Skidsdev
6,3362974
6,3362974
@Shaggy Sure, shoulda thought of that
– Skidsdev
Dec 20 at 19:25
4
@RobertS. it also provides no bonus to your score (x * 1 == x
). It's a tongue-in-cheek poke at the unpronouncability of many of the translations
– Skidsdev
Dec 20 at 19:38
Can output be an array of characters?
– ElPedro
Dec 20 at 21:23
@Skidsdev The "translations" are pronounceable; either as a recorded human voice or programmatically using machine learning and/or text-to-speech technologies.
– guest271314
Dec 20 at 22:19
@ngn oops my bad, copied from reddit :P
– Skidsdev
Dec 21 at 13:44
|
show 2 more comments
@Shaggy Sure, shoulda thought of that
– Skidsdev
Dec 20 at 19:25
4
@RobertS. it also provides no bonus to your score (x * 1 == x
). It's a tongue-in-cheek poke at the unpronouncability of many of the translations
– Skidsdev
Dec 20 at 19:38
Can output be an array of characters?
– ElPedro
Dec 20 at 21:23
@Skidsdev The "translations" are pronounceable; either as a recorded human voice or programmatically using machine learning and/or text-to-speech technologies.
– guest271314
Dec 20 at 22:19
@ngn oops my bad, copied from reddit :P
– Skidsdev
Dec 21 at 13:44
@Shaggy Sure, shoulda thought of that
– Skidsdev
Dec 20 at 19:25
@Shaggy Sure, shoulda thought of that
– Skidsdev
Dec 20 at 19:25
4
4
@RobertS. it also provides no bonus to your score (
x * 1 == x
). It's a tongue-in-cheek poke at the unpronouncability of many of the translations– Skidsdev
Dec 20 at 19:38
@RobertS. it also provides no bonus to your score (
x * 1 == x
). It's a tongue-in-cheek poke at the unpronouncability of many of the translations– Skidsdev
Dec 20 at 19:38
Can output be an array of characters?
– ElPedro
Dec 20 at 21:23
Can output be an array of characters?
– ElPedro
Dec 20 at 21:23
@Skidsdev The "translations" are pronounceable; either as a recorded human voice or programmatically using machine learning and/or text-to-speech technologies.
– guest271314
Dec 20 at 22:19
@Skidsdev The "translations" are pronounceable; either as a recorded human voice or programmatically using machine learning and/or text-to-speech technologies.
– guest271314
Dec 20 at 22:19
@ngn oops my bad, copied from reddit :P
– Skidsdev
Dec 21 at 13:44
@ngn oops my bad, copied from reddit :P
– Skidsdev
Dec 21 at 13:44
|
show 2 more comments
21 Answers
21
active
oldest
votes
Bash + coreutils, 46
tr b-zB-Z ${a=typetjkitkpstokrtyputjkyb}${a^^}
Try it online!
add a comment |
05AB1E, 24 bytes
ži.•ÜÁ©;«ìñä°ÔG·ÖYΘ•Du«‡
Explanation:
‡ transliterate
ži a-zA-Z with
.•ÜÁ©;«ìñä°ÔG·ÖYΘ• atypetjkitkpstokrtyputjkyb
Du« concatenated with itself, uppercased
Try it online!
Minor 24 bytes alternative by transliterating just the consonants.
– Kevin Cruijssen
Dec 22 at 17:29
add a comment |
Charcoal, 42 bytes
≔”$⌊∧T-¶I^F⁷ü@n⁹γ›7η”η⭆θ⎇№β↧ι§⎇№βι↧ηη⌕β↧ιι
Try it online! Link is to verbose version of code. Explanation:
≔ Assign
”$⌊∧T-¶I^F⁷ü@n⁹γ›7η” Compressed string `ATYPETJKITKPSTOKRTYPUTJKYB`
η To variable
θ Input string
⭆ Map over characters and join
⎇ If
β Lowercase alphabet
№ Contains
ι Current character
↧ Lowercased
(Then)
⎇ If
β Lowercase alphabet
№ Contains
ι Current character
(Then)
η Variable
↧ Lowercased
(Else)
η Variable
§ Indexed by
⌕ Index of
ι Current character
↧ Lowercased
β In lowercase alphabet
(Else)
ι Current character
Implicitly print
add a comment |
T-SQL, 107 Bytes
SELECT TRANSLATE(v,'bcdfghjlmnpqrstvwxzBCDFGHJLMNPQRSTVWXZ',
'typtjktpstkrtyptjkbTYPTJKTPSTKRTYPTJKB')FROM t
Line break and indent are for readability only.
Uses the SQL 2017 function TRANSLATE
for character replacement.
Unfortunately had to put (almost) the entire alphabet in there twice to maintain casing. There are probably better ways, maybe something that handles the t's as a group, but this worked for me.
Input is via a pre-existing table t with varchar column v, per our IO rules.
In this case the table must be created using a case-sensitive collation, either by running on a case-sensitive server, or by using the COLLATE
keyword (not counted toward character total):
CREATE TABLE t(v varchar(999) COLLATE Latin1_General_CS_AS)
add a comment |
JavaScript (Node.js), 100 bytes
s=>s.replace(/[a-z]/gi,c=>(C='_atypetjkitkpstokrtyputjkyb'[Buffer(c)[0]&31],c>{}?C:C.toUpperCase()))
Try it online!
s => // s = input string
s.replace( // replace in s ...
/[a-z]/gi, // ... all letters, no matter the case
c => ( // for each letter c:
C = // pick a replacement letter C
'_atypetjkitkpstokrtyputjkyb' // from a 1-indexed lookup string
[Buffer(c)[0] & 31], // using the 5 lowest bits of the ASCII code of c
c > {} ? // if the original letter was in lower case:
C // use the replacement letter as-is
: // else:
C.toUpperCase() // convert it to upper case
) //
) // end of replace()
add a comment |
R, 79 bytes
function(x)chartr("b-zB-Z",paste0(y<-"typetjkitkpstokrtyputjkyb",toupper(y)),x)
Try it online!
Only 3 bytes shorter than literally typing both lower- and uppercase replacement strings together...
R, 79 bytes
function(x,`[`=chartr)"B-Z"[toupper(y),"b-z"[y<-"typetjkitkpstokrtyputjkyb",x]]
Try it online!
Fancier code, same byte count.
add a comment |
Perl 5 -p
, 54 bytes
eval"y/B-Zb-z/".uc($a=typetjkitkpstokrtyputjkyb)."$a/"
Try it online!
add a comment |
Ruby, 55 bytes
$_.tr!"b-zB-Z",(x="typetjkitkpstokrtyputjkyb")+x.upcase
Try it online!
add a comment |
J, 78 61 bytes
-17 bytes thanks to FrownyFrog!
rplc(u:,98 66+/i.25);"0(,toupper)@'typetjkitkpstokrtyputjkyb'
Try it online!
2
61
– FrownyFrog
Dec 21 at 10:52
@FrownyFrog Thanks! In my J804 I can't use constants at the right-hand side. I need to upgrade :) My solution is ugly nevertheless....
– Galen Ivanov
Dec 21 at 11:27
add a comment |
K (ngn/k), 87 63 61 60 59 57 bytes
{`c$x-a-@[!128;98+!25;:;"typetjkitkpstokrtyputjkyb"]a:_x}
Try it online!
{
}
function with argument x
_
to lowercase
a:
assign to a
!128
the list 0 1 2 ... 127
@[!128;
indices ;:;
values ]
amend it by replacing the elements at indices with the given values
98+!25
the list 98 99 100 ... 122
which are the ascii codes for "bcd
...z"
juxtaposition is indexing, so we use a
(implicitly converted to integers) as indices in the amended list
x-a-
subtract from a
, then subtract form x
; this restores upper/lowercase as in the original string
`c$
convert to characters
add a comment |
C# (Visual C# Interactive Compiler), 151 83 bytes
n=>n.Select(a=>char.IsLetter(a)?(char)(" ATYPETJKITKPSTOKRTYPUTJKYB"[a%32]|a&32):a)
Try it online!
Saved a whopping 68 bytes thanks to Pietu1998!
You can get this down to 83 bytes by removing the range, combining theSelect
s and using bitwise operators for casing.
– Pietu1998
Dec 21 at 14:01
Thanks! Nice trick with the bit wise operators!
– Embodiment of Ignorance
Dec 21 at 16:23
add a comment |
Retina 0.8.2, 59 bytes
[a-z]
$&
T`l`L
T`L`ATYPETJKITKPSTOKRTYPUTJKYB
T`L `l_` .
Try it online! Link includes test cases. Explanation:
[a-z]
$&
Prefix a non-ASCII character to each letter. (I tried to use a non-breaking space but Firefox might have changed it back to a regular space after copying and pasting.)
T`l`L
Uppercase all of the letters.
T`L`ATYPETJKITKPSTOKRTYPUTJKYB
Convert the letters to Corpus.
T`L `l_` .
Lowercase the letters after the non-ASCII character and delete the non-ASCII character.
Naïve solution is 63 bytes:
T`lL`atypetjkitkpstokrtyputjkybATYPETJKITKPSTOKRTYPUTJKYB
Try it online! Link includes test cases.
add a comment |
Python 2, 115 bytes
lambda i:i.translate(''.join(a))
a=map(chr,range(256))
b='typetjkitkpstokrtyputjkyb'
a[66:91]=b.upper();a[98:123]=b
Try it online!
Adapted from @ElPedro's answer. This generates the replacement for every ascii character in the array a
and then uses str.translate
.
Can be brought to 113 bytes if returning an array of chars is acceptable:
lambda i:[a[ord(x)]for x in i]
a=map(chr,range(256))
b='typetjkitkpstokrtyputjkyb'
a[66:91]=b.upper();a[98:123]=b
Try it online!
Took some thinking at this time of night to work out how it was doing it. It's been a long day! Nice solution.
– ElPedro
Dec 20 at 23:38
add a comment |
Jelly, 29 bytes
“qḍỊYl4ḃ©ƭṄxḳ½Dy’ṃⱮØA,Øa¤⁺żẎy
Try it online!
Only need to map consonants, so“ØṖ¦Mṗẏʋ@¥;}/’ṃⱮØCŒH¤⁺żẎy
saves 4. (Can't get rid of 'y' withØY
since it's on the right of the map)
– Jonathan Allan
Dec 21 at 19:01
add a comment |
Japt, 37 bytes
;®i`
ypetjkkp¡okrtyp©jkyb`pu)gCpu bZ
Try it online!
The above link includes most test cases, but I haven't been able to input the second to last one as a string because it contains both single and double quotes. Here is that test case, input as an array of characters instead.
Explanation:
; #Set C to the lowercase alphabet
® #For each character Z of the input:
bZ # Find its index in:
C # The lowercase alphabet
pu # Plus the uppercase alphabet
# (-1 if it is not a letter)
g # And get the character at that index in:
`
ypetjkkp¡okrtyp©jkyb` # Get the lowercase Corpus alphabet
pu) # Plus the uppercase Corpus alphabet
i # Add Z at the end (index -1)
add a comment |
Python 2, 138 132 bytes
def f(i,a='bcdfghjlmnpqrstvwxz',b='typtjktpstkrtyptjkb'):a+=a.upper();b+=b.upper();return''.join((x,b[a.find(x)])[x in a]for x in i)
Try it online!
Actually shorter with a named function than with a lambda!
lambda version, 138 bytes
lambda i,a='bcdfghjlmnpqrstvwxzBCDFGHJLMNPQRSTVWXZ',b='typtjktpstkrtyptjkbTYPTJKTPSTKRTYPTJKB':''.join((x,b[a.find(x)])[x in a]for x in i)
Try it online!
131 125 if we are allowed to return an array of characters and have the join
outside the function.
def f(i,a='bcdfghjlmnpqrstvwxz',b='typtjktpstkrtyptjkb'):a+=a.upper();b+=b.upper();return[(x,b[a.find(x)])[x in a]for x in i]
Try it online!
1
You can still use a lambda if you makea
andb
global variables
– Black Owl Kai
Dec 20 at 22:58
@BlackOwlKai - Thanks. Have been playing with that idea but it's getting late. Maybe tomorrow :)
– ElPedro
Dec 20 at 22:59
Got it down to 120/113 characters (TIO without the testcases, else the link would be too long for a comment)
– Black Owl Kai
Dec 20 at 23:08
Beats mine and different enough for you to post as your own answer. I'll upvote :)
– ElPedro
Dec 20 at 23:09
Feel free to steal my test cases as well. They took longer to type in than the code...
– ElPedro
Dec 20 at 23:12
add a comment |
PHP, 100 bytes
Code
<?=strtr($argv[0],($u=bcdfghjklmnpqrstvwxyz).($f=strtoupper)($u),($v=typtjktkpstkrtyptjkyb).$f($v));
Try it online!
Explanation
# using the provided character mapping given on the question, as an array
strtr($argv[0], # strtr for the string replacement
($u=bcdfghjklmnpqrstvwxyz).($f=strtoupper)($u), # Taking onthe the keys for the first string
($v=typtjktkpstkrtyptjkyb).$f($v)); # Using the values for second string
# In both Strings appending the upper version of each string.
add a comment |
Pyth, 35 Bytes
XQ.*m+r1dd[tG."byàHuH¯¹e?rJyfh
Try it!
Could probably use Left map or something to get rid of the two d's, but I couldn't figure out how.
add a comment |
Java, 211 Bytes
a->{String b="BCDFGHJLMNPQRSTVWXZbcdfghjlmnpqrstvwxz",c="TYPTJKTPSTKRTYPTJKBtyptjktpstkrtyptjkb";a.chars().map(x->{int z;return(z=b.indexOf(x))>-1?c.toCharArray()[z]:x;}).forEach(x->System.out.print((char)x));};
Try it online!
add a comment |
Pyth, 34 chars
J."byàHuH¯¹e?rJyfh"XXztGJrtG1rJ1
Try it online!
The string is a compressed version of "typetjkitkpstokrtyputjkyb". For some reason I cannot get Pyth to compress "atypetjkitkpstokrtyputjkyb" with the function
+++.N++hSzeSzCi-RChSzCMz-hCeSzChSzN
even though it would probably save a byte or two as the two t's could be eliminated.
New contributor
add a comment |
Tcl, 114 bytes
proc C s {string map [split {btcydpftgjhkjtlpmsntpkqrrtsytpvtwjxkzbBTCYDPFTGJHKJTLPMSNTPKQRRTSYTPVTWJXKZB} ""] $s}
Try it online!
add a comment |
Your Answer
StackExchange.ifUsing("editor", function () {
return StackExchange.using("mathjaxEditing", function () {
StackExchange.MarkdownEditor.creationCallbacks.add(function (editor, postfix) {
StackExchange.mathjaxEditing.prepareWmdForMathJax(editor, postfix, [["\$", "\$"]]);
});
});
}, "mathjax-editing");
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "200"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fcodegolf.stackexchange.com%2fquestions%2f177866%2ftranslate-english-to-corpus%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
21 Answers
21
active
oldest
votes
21 Answers
21
active
oldest
votes
active
oldest
votes
active
oldest
votes
Bash + coreutils, 46
tr b-zB-Z ${a=typetjkitkpstokrtyputjkyb}${a^^}
Try it online!
add a comment |
Bash + coreutils, 46
tr b-zB-Z ${a=typetjkitkpstokrtyputjkyb}${a^^}
Try it online!
add a comment |
Bash + coreutils, 46
tr b-zB-Z ${a=typetjkitkpstokrtyputjkyb}${a^^}
Try it online!
Bash + coreutils, 46
tr b-zB-Z ${a=typetjkitkpstokrtyputjkyb}${a^^}
Try it online!
answered Dec 20 at 20:06
Digital Trauma
58.5k787220
58.5k787220
add a comment |
add a comment |
05AB1E, 24 bytes
ži.•ÜÁ©;«ìñä°ÔG·ÖYΘ•Du«‡
Explanation:
‡ transliterate
ži a-zA-Z with
.•ÜÁ©;«ìñä°ÔG·ÖYΘ• atypetjkitkpstokrtyputjkyb
Du« concatenated with itself, uppercased
Try it online!
Minor 24 bytes alternative by transliterating just the consonants.
– Kevin Cruijssen
Dec 22 at 17:29
add a comment |
05AB1E, 24 bytes
ži.•ÜÁ©;«ìñä°ÔG·ÖYΘ•Du«‡
Explanation:
‡ transliterate
ži a-zA-Z with
.•ÜÁ©;«ìñä°ÔG·ÖYΘ• atypetjkitkpstokrtyputjkyb
Du« concatenated with itself, uppercased
Try it online!
Minor 24 bytes alternative by transliterating just the consonants.
– Kevin Cruijssen
Dec 22 at 17:29
add a comment |
05AB1E, 24 bytes
ži.•ÜÁ©;«ìñä°ÔG·ÖYΘ•Du«‡
Explanation:
‡ transliterate
ži a-zA-Z with
.•ÜÁ©;«ìñä°ÔG·ÖYΘ• atypetjkitkpstokrtyputjkyb
Du« concatenated with itself, uppercased
Try it online!
05AB1E, 24 bytes
ži.•ÜÁ©;«ìñä°ÔG·ÖYΘ•Du«‡
Explanation:
‡ transliterate
ži a-zA-Z with
.•ÜÁ©;«ìñä°ÔG·ÖYΘ• atypetjkitkpstokrtyputjkyb
Du« concatenated with itself, uppercased
Try it online!
edited Dec 20 at 19:56
answered Dec 20 at 19:46
Okx
12.5k127102
12.5k127102
Minor 24 bytes alternative by transliterating just the consonants.
– Kevin Cruijssen
Dec 22 at 17:29
add a comment |
Minor 24 bytes alternative by transliterating just the consonants.
– Kevin Cruijssen
Dec 22 at 17:29
Minor 24 bytes alternative by transliterating just the consonants.
– Kevin Cruijssen
Dec 22 at 17:29
Minor 24 bytes alternative by transliterating just the consonants.
– Kevin Cruijssen
Dec 22 at 17:29
add a comment |
Charcoal, 42 bytes
≔”$⌊∧T-¶I^F⁷ü@n⁹γ›7η”η⭆θ⎇№β↧ι§⎇№βι↧ηη⌕β↧ιι
Try it online! Link is to verbose version of code. Explanation:
≔ Assign
”$⌊∧T-¶I^F⁷ü@n⁹γ›7η” Compressed string `ATYPETJKITKPSTOKRTYPUTJKYB`
η To variable
θ Input string
⭆ Map over characters and join
⎇ If
β Lowercase alphabet
№ Contains
ι Current character
↧ Lowercased
(Then)
⎇ If
β Lowercase alphabet
№ Contains
ι Current character
(Then)
η Variable
↧ Lowercased
(Else)
η Variable
§ Indexed by
⌕ Index of
ι Current character
↧ Lowercased
β In lowercase alphabet
(Else)
ι Current character
Implicitly print
add a comment |
Charcoal, 42 bytes
≔”$⌊∧T-¶I^F⁷ü@n⁹γ›7η”η⭆θ⎇№β↧ι§⎇№βι↧ηη⌕β↧ιι
Try it online! Link is to verbose version of code. Explanation:
≔ Assign
”$⌊∧T-¶I^F⁷ü@n⁹γ›7η” Compressed string `ATYPETJKITKPSTOKRTYPUTJKYB`
η To variable
θ Input string
⭆ Map over characters and join
⎇ If
β Lowercase alphabet
№ Contains
ι Current character
↧ Lowercased
(Then)
⎇ If
β Lowercase alphabet
№ Contains
ι Current character
(Then)
η Variable
↧ Lowercased
(Else)
η Variable
§ Indexed by
⌕ Index of
ι Current character
↧ Lowercased
β In lowercase alphabet
(Else)
ι Current character
Implicitly print
add a comment |
Charcoal, 42 bytes
≔”$⌊∧T-¶I^F⁷ü@n⁹γ›7η”η⭆θ⎇№β↧ι§⎇№βι↧ηη⌕β↧ιι
Try it online! Link is to verbose version of code. Explanation:
≔ Assign
”$⌊∧T-¶I^F⁷ü@n⁹γ›7η” Compressed string `ATYPETJKITKPSTOKRTYPUTJKYB`
η To variable
θ Input string
⭆ Map over characters and join
⎇ If
β Lowercase alphabet
№ Contains
ι Current character
↧ Lowercased
(Then)
⎇ If
β Lowercase alphabet
№ Contains
ι Current character
(Then)
η Variable
↧ Lowercased
(Else)
η Variable
§ Indexed by
⌕ Index of
ι Current character
↧ Lowercased
β In lowercase alphabet
(Else)
ι Current character
Implicitly print
Charcoal, 42 bytes
≔”$⌊∧T-¶I^F⁷ü@n⁹γ›7η”η⭆θ⎇№β↧ι§⎇№βι↧ηη⌕β↧ιι
Try it online! Link is to verbose version of code. Explanation:
≔ Assign
”$⌊∧T-¶I^F⁷ü@n⁹γ›7η” Compressed string `ATYPETJKITKPSTOKRTYPUTJKYB`
η To variable
θ Input string
⭆ Map over characters and join
⎇ If
β Lowercase alphabet
№ Contains
ι Current character
↧ Lowercased
(Then)
⎇ If
β Lowercase alphabet
№ Contains
ι Current character
(Then)
η Variable
↧ Lowercased
(Else)
η Variable
§ Indexed by
⌕ Index of
ι Current character
↧ Lowercased
β In lowercase alphabet
(Else)
ι Current character
Implicitly print
answered Dec 20 at 21:00
Neil
79.3k744177
79.3k744177
add a comment |
add a comment |
T-SQL, 107 Bytes
SELECT TRANSLATE(v,'bcdfghjlmnpqrstvwxzBCDFGHJLMNPQRSTVWXZ',
'typtjktpstkrtyptjkbTYPTJKTPSTKRTYPTJKB')FROM t
Line break and indent are for readability only.
Uses the SQL 2017 function TRANSLATE
for character replacement.
Unfortunately had to put (almost) the entire alphabet in there twice to maintain casing. There are probably better ways, maybe something that handles the t's as a group, but this worked for me.
Input is via a pre-existing table t with varchar column v, per our IO rules.
In this case the table must be created using a case-sensitive collation, either by running on a case-sensitive server, or by using the COLLATE
keyword (not counted toward character total):
CREATE TABLE t(v varchar(999) COLLATE Latin1_General_CS_AS)
add a comment |
T-SQL, 107 Bytes
SELECT TRANSLATE(v,'bcdfghjlmnpqrstvwxzBCDFGHJLMNPQRSTVWXZ',
'typtjktpstkrtyptjkbTYPTJKTPSTKRTYPTJKB')FROM t
Line break and indent are for readability only.
Uses the SQL 2017 function TRANSLATE
for character replacement.
Unfortunately had to put (almost) the entire alphabet in there twice to maintain casing. There are probably better ways, maybe something that handles the t's as a group, but this worked for me.
Input is via a pre-existing table t with varchar column v, per our IO rules.
In this case the table must be created using a case-sensitive collation, either by running on a case-sensitive server, or by using the COLLATE
keyword (not counted toward character total):
CREATE TABLE t(v varchar(999) COLLATE Latin1_General_CS_AS)
add a comment |
T-SQL, 107 Bytes
SELECT TRANSLATE(v,'bcdfghjlmnpqrstvwxzBCDFGHJLMNPQRSTVWXZ',
'typtjktpstkrtyptjkbTYPTJKTPSTKRTYPTJKB')FROM t
Line break and indent are for readability only.
Uses the SQL 2017 function TRANSLATE
for character replacement.
Unfortunately had to put (almost) the entire alphabet in there twice to maintain casing. There are probably better ways, maybe something that handles the t's as a group, but this worked for me.
Input is via a pre-existing table t with varchar column v, per our IO rules.
In this case the table must be created using a case-sensitive collation, either by running on a case-sensitive server, or by using the COLLATE
keyword (not counted toward character total):
CREATE TABLE t(v varchar(999) COLLATE Latin1_General_CS_AS)
T-SQL, 107 Bytes
SELECT TRANSLATE(v,'bcdfghjlmnpqrstvwxzBCDFGHJLMNPQRSTVWXZ',
'typtjktpstkrtyptjkbTYPTJKTPSTKRTYPTJKB')FROM t
Line break and indent are for readability only.
Uses the SQL 2017 function TRANSLATE
for character replacement.
Unfortunately had to put (almost) the entire alphabet in there twice to maintain casing. There are probably better ways, maybe something that handles the t's as a group, but this worked for me.
Input is via a pre-existing table t with varchar column v, per our IO rules.
In this case the table must be created using a case-sensitive collation, either by running on a case-sensitive server, or by using the COLLATE
keyword (not counted toward character total):
CREATE TABLE t(v varchar(999) COLLATE Latin1_General_CS_AS)
edited Dec 20 at 22:39
answered Dec 20 at 19:46
BradC
3,719523
3,719523
add a comment |
add a comment |
JavaScript (Node.js), 100 bytes
s=>s.replace(/[a-z]/gi,c=>(C='_atypetjkitkpstokrtyputjkyb'[Buffer(c)[0]&31],c>{}?C:C.toUpperCase()))
Try it online!
s => // s = input string
s.replace( // replace in s ...
/[a-z]/gi, // ... all letters, no matter the case
c => ( // for each letter c:
C = // pick a replacement letter C
'_atypetjkitkpstokrtyputjkyb' // from a 1-indexed lookup string
[Buffer(c)[0] & 31], // using the 5 lowest bits of the ASCII code of c
c > {} ? // if the original letter was in lower case:
C // use the replacement letter as-is
: // else:
C.toUpperCase() // convert it to upper case
) //
) // end of replace()
add a comment |
JavaScript (Node.js), 100 bytes
s=>s.replace(/[a-z]/gi,c=>(C='_atypetjkitkpstokrtyputjkyb'[Buffer(c)[0]&31],c>{}?C:C.toUpperCase()))
Try it online!
s => // s = input string
s.replace( // replace in s ...
/[a-z]/gi, // ... all letters, no matter the case
c => ( // for each letter c:
C = // pick a replacement letter C
'_atypetjkitkpstokrtyputjkyb' // from a 1-indexed lookup string
[Buffer(c)[0] & 31], // using the 5 lowest bits of the ASCII code of c
c > {} ? // if the original letter was in lower case:
C // use the replacement letter as-is
: // else:
C.toUpperCase() // convert it to upper case
) //
) // end of replace()
add a comment |
JavaScript (Node.js), 100 bytes
s=>s.replace(/[a-z]/gi,c=>(C='_atypetjkitkpstokrtyputjkyb'[Buffer(c)[0]&31],c>{}?C:C.toUpperCase()))
Try it online!
s => // s = input string
s.replace( // replace in s ...
/[a-z]/gi, // ... all letters, no matter the case
c => ( // for each letter c:
C = // pick a replacement letter C
'_atypetjkitkpstokrtyputjkyb' // from a 1-indexed lookup string
[Buffer(c)[0] & 31], // using the 5 lowest bits of the ASCII code of c
c > {} ? // if the original letter was in lower case:
C // use the replacement letter as-is
: // else:
C.toUpperCase() // convert it to upper case
) //
) // end of replace()
JavaScript (Node.js), 100 bytes
s=>s.replace(/[a-z]/gi,c=>(C='_atypetjkitkpstokrtyputjkyb'[Buffer(c)[0]&31],c>{}?C:C.toUpperCase()))
Try it online!
s => // s = input string
s.replace( // replace in s ...
/[a-z]/gi, // ... all letters, no matter the case
c => ( // for each letter c:
C = // pick a replacement letter C
'_atypetjkitkpstokrtyputjkyb' // from a 1-indexed lookup string
[Buffer(c)[0] & 31], // using the 5 lowest bits of the ASCII code of c
c > {} ? // if the original letter was in lower case:
C // use the replacement letter as-is
: // else:
C.toUpperCase() // convert it to upper case
) //
) // end of replace()
edited Dec 20 at 23:53
answered Dec 20 at 21:32
Arnauld
72.3k689303
72.3k689303
add a comment |
add a comment |
R, 79 bytes
function(x)chartr("b-zB-Z",paste0(y<-"typetjkitkpstokrtyputjkyb",toupper(y)),x)
Try it online!
Only 3 bytes shorter than literally typing both lower- and uppercase replacement strings together...
R, 79 bytes
function(x,`[`=chartr)"B-Z"[toupper(y),"b-z"[y<-"typetjkitkpstokrtyputjkyb",x]]
Try it online!
Fancier code, same byte count.
add a comment |
R, 79 bytes
function(x)chartr("b-zB-Z",paste0(y<-"typetjkitkpstokrtyputjkyb",toupper(y)),x)
Try it online!
Only 3 bytes shorter than literally typing both lower- and uppercase replacement strings together...
R, 79 bytes
function(x,`[`=chartr)"B-Z"[toupper(y),"b-z"[y<-"typetjkitkpstokrtyputjkyb",x]]
Try it online!
Fancier code, same byte count.
add a comment |
R, 79 bytes
function(x)chartr("b-zB-Z",paste0(y<-"typetjkitkpstokrtyputjkyb",toupper(y)),x)
Try it online!
Only 3 bytes shorter than literally typing both lower- and uppercase replacement strings together...
R, 79 bytes
function(x,`[`=chartr)"B-Z"[toupper(y),"b-z"[y<-"typetjkitkpstokrtyputjkyb",x]]
Try it online!
Fancier code, same byte count.
R, 79 bytes
function(x)chartr("b-zB-Z",paste0(y<-"typetjkitkpstokrtyputjkyb",toupper(y)),x)
Try it online!
Only 3 bytes shorter than literally typing both lower- and uppercase replacement strings together...
R, 79 bytes
function(x,`[`=chartr)"B-Z"[toupper(y),"b-z"[y<-"typetjkitkpstokrtyputjkyb",x]]
Try it online!
Fancier code, same byte count.
edited Dec 21 at 13:33
answered Dec 21 at 13:11
Kirill L.
3,6551318
3,6551318
add a comment |
add a comment |
Perl 5 -p
, 54 bytes
eval"y/B-Zb-z/".uc($a=typetjkitkpstokrtyputjkyb)."$a/"
Try it online!
add a comment |
Perl 5 -p
, 54 bytes
eval"y/B-Zb-z/".uc($a=typetjkitkpstokrtyputjkyb)."$a/"
Try it online!
add a comment |
Perl 5 -p
, 54 bytes
eval"y/B-Zb-z/".uc($a=typetjkitkpstokrtyputjkyb)."$a/"
Try it online!
Perl 5 -p
, 54 bytes
eval"y/B-Zb-z/".uc($a=typetjkitkpstokrtyputjkyb)."$a/"
Try it online!
answered Dec 21 at 3:21
Xcali
5,168520
5,168520
add a comment |
add a comment |
Ruby, 55 bytes
$_.tr!"b-zB-Z",(x="typetjkitkpstokrtyputjkyb")+x.upcase
Try it online!
add a comment |
Ruby, 55 bytes
$_.tr!"b-zB-Z",(x="typetjkitkpstokrtyputjkyb")+x.upcase
Try it online!
add a comment |
Ruby, 55 bytes
$_.tr!"b-zB-Z",(x="typetjkitkpstokrtyputjkyb")+x.upcase
Try it online!
Ruby, 55 bytes
$_.tr!"b-zB-Z",(x="typetjkitkpstokrtyputjkyb")+x.upcase
Try it online!
answered Dec 21 at 8:58
Kirill L.
3,6551318
3,6551318
add a comment |
add a comment |
J, 78 61 bytes
-17 bytes thanks to FrownyFrog!
rplc(u:,98 66+/i.25);"0(,toupper)@'typetjkitkpstokrtyputjkyb'
Try it online!
2
61
– FrownyFrog
Dec 21 at 10:52
@FrownyFrog Thanks! In my J804 I can't use constants at the right-hand side. I need to upgrade :) My solution is ugly nevertheless....
– Galen Ivanov
Dec 21 at 11:27
add a comment |
J, 78 61 bytes
-17 bytes thanks to FrownyFrog!
rplc(u:,98 66+/i.25);"0(,toupper)@'typetjkitkpstokrtyputjkyb'
Try it online!
2
61
– FrownyFrog
Dec 21 at 10:52
@FrownyFrog Thanks! In my J804 I can't use constants at the right-hand side. I need to upgrade :) My solution is ugly nevertheless....
– Galen Ivanov
Dec 21 at 11:27
add a comment |
J, 78 61 bytes
-17 bytes thanks to FrownyFrog!
rplc(u:,98 66+/i.25);"0(,toupper)@'typetjkitkpstokrtyputjkyb'
Try it online!
J, 78 61 bytes
-17 bytes thanks to FrownyFrog!
rplc(u:,98 66+/i.25);"0(,toupper)@'typetjkitkpstokrtyputjkyb'
Try it online!
edited Dec 21 at 11:29
answered Dec 21 at 9:33
Galen Ivanov
6,31711032
6,31711032
2
61
– FrownyFrog
Dec 21 at 10:52
@FrownyFrog Thanks! In my J804 I can't use constants at the right-hand side. I need to upgrade :) My solution is ugly nevertheless....
– Galen Ivanov
Dec 21 at 11:27
add a comment |
2
61
– FrownyFrog
Dec 21 at 10:52
@FrownyFrog Thanks! In my J804 I can't use constants at the right-hand side. I need to upgrade :) My solution is ugly nevertheless....
– Galen Ivanov
Dec 21 at 11:27
2
2
61
– FrownyFrog
Dec 21 at 10:52
61
– FrownyFrog
Dec 21 at 10:52
@FrownyFrog Thanks! In my J804 I can't use constants at the right-hand side. I need to upgrade :) My solution is ugly nevertheless....
– Galen Ivanov
Dec 21 at 11:27
@FrownyFrog Thanks! In my J804 I can't use constants at the right-hand side. I need to upgrade :) My solution is ugly nevertheless....
– Galen Ivanov
Dec 21 at 11:27
add a comment |
K (ngn/k), 87 63 61 60 59 57 bytes
{`c$x-a-@[!128;98+!25;:;"typetjkitkpstokrtyputjkyb"]a:_x}
Try it online!
{
}
function with argument x
_
to lowercase
a:
assign to a
!128
the list 0 1 2 ... 127
@[!128;
indices ;:;
values ]
amend it by replacing the elements at indices with the given values
98+!25
the list 98 99 100 ... 122
which are the ascii codes for "bcd
...z"
juxtaposition is indexing, so we use a
(implicitly converted to integers) as indices in the amended list
x-a-
subtract from a
, then subtract form x
; this restores upper/lowercase as in the original string
`c$
convert to characters
add a comment |
K (ngn/k), 87 63 61 60 59 57 bytes
{`c$x-a-@[!128;98+!25;:;"typetjkitkpstokrtyputjkyb"]a:_x}
Try it online!
{
}
function with argument x
_
to lowercase
a:
assign to a
!128
the list 0 1 2 ... 127
@[!128;
indices ;:;
values ]
amend it by replacing the elements at indices with the given values
98+!25
the list 98 99 100 ... 122
which are the ascii codes for "bcd
...z"
juxtaposition is indexing, so we use a
(implicitly converted to integers) as indices in the amended list
x-a-
subtract from a
, then subtract form x
; this restores upper/lowercase as in the original string
`c$
convert to characters
add a comment |
K (ngn/k), 87 63 61 60 59 57 bytes
{`c$x-a-@[!128;98+!25;:;"typetjkitkpstokrtyputjkyb"]a:_x}
Try it online!
{
}
function with argument x
_
to lowercase
a:
assign to a
!128
the list 0 1 2 ... 127
@[!128;
indices ;:;
values ]
amend it by replacing the elements at indices with the given values
98+!25
the list 98 99 100 ... 122
which are the ascii codes for "bcd
...z"
juxtaposition is indexing, so we use a
(implicitly converted to integers) as indices in the amended list
x-a-
subtract from a
, then subtract form x
; this restores upper/lowercase as in the original string
`c$
convert to characters
K (ngn/k), 87 63 61 60 59 57 bytes
{`c$x-a-@[!128;98+!25;:;"typetjkitkpstokrtyputjkyb"]a:_x}
Try it online!
{
}
function with argument x
_
to lowercase
a:
assign to a
!128
the list 0 1 2 ... 127
@[!128;
indices ;:;
values ]
amend it by replacing the elements at indices with the given values
98+!25
the list 98 99 100 ... 122
which are the ascii codes for "bcd
...z"
juxtaposition is indexing, so we use a
(implicitly converted to integers) as indices in the amended list
x-a-
subtract from a
, then subtract form x
; this restores upper/lowercase as in the original string
`c$
convert to characters
edited Dec 21 at 15:19
answered Dec 21 at 11:22
ngn
6,93112559
6,93112559
add a comment |
add a comment |
C# (Visual C# Interactive Compiler), 151 83 bytes
n=>n.Select(a=>char.IsLetter(a)?(char)(" ATYPETJKITKPSTOKRTYPUTJKYB"[a%32]|a&32):a)
Try it online!
Saved a whopping 68 bytes thanks to Pietu1998!
You can get this down to 83 bytes by removing the range, combining theSelect
s and using bitwise operators for casing.
– Pietu1998
Dec 21 at 14:01
Thanks! Nice trick with the bit wise operators!
– Embodiment of Ignorance
Dec 21 at 16:23
add a comment |
C# (Visual C# Interactive Compiler), 151 83 bytes
n=>n.Select(a=>char.IsLetter(a)?(char)(" ATYPETJKITKPSTOKRTYPUTJKYB"[a%32]|a&32):a)
Try it online!
Saved a whopping 68 bytes thanks to Pietu1998!
You can get this down to 83 bytes by removing the range, combining theSelect
s and using bitwise operators for casing.
– Pietu1998
Dec 21 at 14:01
Thanks! Nice trick with the bit wise operators!
– Embodiment of Ignorance
Dec 21 at 16:23
add a comment |
C# (Visual C# Interactive Compiler), 151 83 bytes
n=>n.Select(a=>char.IsLetter(a)?(char)(" ATYPETJKITKPSTOKRTYPUTJKYB"[a%32]|a&32):a)
Try it online!
Saved a whopping 68 bytes thanks to Pietu1998!
C# (Visual C# Interactive Compiler), 151 83 bytes
n=>n.Select(a=>char.IsLetter(a)?(char)(" ATYPETJKITKPSTOKRTYPUTJKYB"[a%32]|a&32):a)
Try it online!
Saved a whopping 68 bytes thanks to Pietu1998!
edited Dec 21 at 16:23
answered Dec 21 at 5:08
Embodiment of Ignorance
24711
24711
You can get this down to 83 bytes by removing the range, combining theSelect
s and using bitwise operators for casing.
– Pietu1998
Dec 21 at 14:01
Thanks! Nice trick with the bit wise operators!
– Embodiment of Ignorance
Dec 21 at 16:23
add a comment |
You can get this down to 83 bytes by removing the range, combining theSelect
s and using bitwise operators for casing.
– Pietu1998
Dec 21 at 14:01
Thanks! Nice trick with the bit wise operators!
– Embodiment of Ignorance
Dec 21 at 16:23
You can get this down to 83 bytes by removing the range, combining the
Select
s and using bitwise operators for casing.– Pietu1998
Dec 21 at 14:01
You can get this down to 83 bytes by removing the range, combining the
Select
s and using bitwise operators for casing.– Pietu1998
Dec 21 at 14:01
Thanks! Nice trick with the bit wise operators!
– Embodiment of Ignorance
Dec 21 at 16:23
Thanks! Nice trick with the bit wise operators!
– Embodiment of Ignorance
Dec 21 at 16:23
add a comment |
Retina 0.8.2, 59 bytes
[a-z]
$&
T`l`L
T`L`ATYPETJKITKPSTOKRTYPUTJKYB
T`L `l_` .
Try it online! Link includes test cases. Explanation:
[a-z]
$&
Prefix a non-ASCII character to each letter. (I tried to use a non-breaking space but Firefox might have changed it back to a regular space after copying and pasting.)
T`l`L
Uppercase all of the letters.
T`L`ATYPETJKITKPSTOKRTYPUTJKYB
Convert the letters to Corpus.
T`L `l_` .
Lowercase the letters after the non-ASCII character and delete the non-ASCII character.
Naïve solution is 63 bytes:
T`lL`atypetjkitkpstokrtyputjkybATYPETJKITKPSTOKRTYPUTJKYB
Try it online! Link includes test cases.
add a comment |
Retina 0.8.2, 59 bytes
[a-z]
$&
T`l`L
T`L`ATYPETJKITKPSTOKRTYPUTJKYB
T`L `l_` .
Try it online! Link includes test cases. Explanation:
[a-z]
$&
Prefix a non-ASCII character to each letter. (I tried to use a non-breaking space but Firefox might have changed it back to a regular space after copying and pasting.)
T`l`L
Uppercase all of the letters.
T`L`ATYPETJKITKPSTOKRTYPUTJKYB
Convert the letters to Corpus.
T`L `l_` .
Lowercase the letters after the non-ASCII character and delete the non-ASCII character.
Naïve solution is 63 bytes:
T`lL`atypetjkitkpstokrtyputjkybATYPETJKITKPSTOKRTYPUTJKYB
Try it online! Link includes test cases.
add a comment |
Retina 0.8.2, 59 bytes
[a-z]
$&
T`l`L
T`L`ATYPETJKITKPSTOKRTYPUTJKYB
T`L `l_` .
Try it online! Link includes test cases. Explanation:
[a-z]
$&
Prefix a non-ASCII character to each letter. (I tried to use a non-breaking space but Firefox might have changed it back to a regular space after copying and pasting.)
T`l`L
Uppercase all of the letters.
T`L`ATYPETJKITKPSTOKRTYPUTJKYB
Convert the letters to Corpus.
T`L `l_` .
Lowercase the letters after the non-ASCII character and delete the non-ASCII character.
Naïve solution is 63 bytes:
T`lL`atypetjkitkpstokrtyputjkybATYPETJKITKPSTOKRTYPUTJKYB
Try it online! Link includes test cases.
Retina 0.8.2, 59 bytes
[a-z]
$&
T`l`L
T`L`ATYPETJKITKPSTOKRTYPUTJKYB
T`L `l_` .
Try it online! Link includes test cases. Explanation:
[a-z]
$&
Prefix a non-ASCII character to each letter. (I tried to use a non-breaking space but Firefox might have changed it back to a regular space after copying and pasting.)
T`l`L
Uppercase all of the letters.
T`L`ATYPETJKITKPSTOKRTYPUTJKYB
Convert the letters to Corpus.
T`L `l_` .
Lowercase the letters after the non-ASCII character and delete the non-ASCII character.
Naïve solution is 63 bytes:
T`lL`atypetjkitkpstokrtyputjkybATYPETJKITKPSTOKRTYPUTJKYB
Try it online! Link includes test cases.
answered Dec 20 at 20:43
Neil
79.3k744177
79.3k744177
add a comment |
add a comment |
Python 2, 115 bytes
lambda i:i.translate(''.join(a))
a=map(chr,range(256))
b='typetjkitkpstokrtyputjkyb'
a[66:91]=b.upper();a[98:123]=b
Try it online!
Adapted from @ElPedro's answer. This generates the replacement for every ascii character in the array a
and then uses str.translate
.
Can be brought to 113 bytes if returning an array of chars is acceptable:
lambda i:[a[ord(x)]for x in i]
a=map(chr,range(256))
b='typetjkitkpstokrtyputjkyb'
a[66:91]=b.upper();a[98:123]=b
Try it online!
Took some thinking at this time of night to work out how it was doing it. It's been a long day! Nice solution.
– ElPedro
Dec 20 at 23:38
add a comment |
Python 2, 115 bytes
lambda i:i.translate(''.join(a))
a=map(chr,range(256))
b='typetjkitkpstokrtyputjkyb'
a[66:91]=b.upper();a[98:123]=b
Try it online!
Adapted from @ElPedro's answer. This generates the replacement for every ascii character in the array a
and then uses str.translate
.
Can be brought to 113 bytes if returning an array of chars is acceptable:
lambda i:[a[ord(x)]for x in i]
a=map(chr,range(256))
b='typetjkitkpstokrtyputjkyb'
a[66:91]=b.upper();a[98:123]=b
Try it online!
Took some thinking at this time of night to work out how it was doing it. It's been a long day! Nice solution.
– ElPedro
Dec 20 at 23:38
add a comment |
Python 2, 115 bytes
lambda i:i.translate(''.join(a))
a=map(chr,range(256))
b='typetjkitkpstokrtyputjkyb'
a[66:91]=b.upper();a[98:123]=b
Try it online!
Adapted from @ElPedro's answer. This generates the replacement for every ascii character in the array a
and then uses str.translate
.
Can be brought to 113 bytes if returning an array of chars is acceptable:
lambda i:[a[ord(x)]for x in i]
a=map(chr,range(256))
b='typetjkitkpstokrtyputjkyb'
a[66:91]=b.upper();a[98:123]=b
Try it online!
Python 2, 115 bytes
lambda i:i.translate(''.join(a))
a=map(chr,range(256))
b='typetjkitkpstokrtyputjkyb'
a[66:91]=b.upper();a[98:123]=b
Try it online!
Adapted from @ElPedro's answer. This generates the replacement for every ascii character in the array a
and then uses str.translate
.
Can be brought to 113 bytes if returning an array of chars is acceptable:
lambda i:[a[ord(x)]for x in i]
a=map(chr,range(256))
b='typetjkitkpstokrtyputjkyb'
a[66:91]=b.upper();a[98:123]=b
Try it online!
answered Dec 20 at 23:22
Black Owl Kai
5807
5807
Took some thinking at this time of night to work out how it was doing it. It's been a long day! Nice solution.
– ElPedro
Dec 20 at 23:38
add a comment |
Took some thinking at this time of night to work out how it was doing it. It's been a long day! Nice solution.
– ElPedro
Dec 20 at 23:38
Took some thinking at this time of night to work out how it was doing it. It's been a long day! Nice solution.
– ElPedro
Dec 20 at 23:38
Took some thinking at this time of night to work out how it was doing it. It's been a long day! Nice solution.
– ElPedro
Dec 20 at 23:38
add a comment |
Jelly, 29 bytes
“qḍỊYl4ḃ©ƭṄxḳ½Dy’ṃⱮØA,Øa¤⁺żẎy
Try it online!
Only need to map consonants, so“ØṖ¦Mṗẏʋ@¥;}/’ṃⱮØCŒH¤⁺żẎy
saves 4. (Can't get rid of 'y' withØY
since it's on the right of the map)
– Jonathan Allan
Dec 21 at 19:01
add a comment |
Jelly, 29 bytes
“qḍỊYl4ḃ©ƭṄxḳ½Dy’ṃⱮØA,Øa¤⁺żẎy
Try it online!
Only need to map consonants, so“ØṖ¦Mṗẏʋ@¥;}/’ṃⱮØCŒH¤⁺żẎy
saves 4. (Can't get rid of 'y' withØY
since it's on the right of the map)
– Jonathan Allan
Dec 21 at 19:01
add a comment |
Jelly, 29 bytes
“qḍỊYl4ḃ©ƭṄxḳ½Dy’ṃⱮØA,Øa¤⁺żẎy
Try it online!
Jelly, 29 bytes
“qḍỊYl4ḃ©ƭṄxḳ½Dy’ṃⱮØA,Øa¤⁺żẎy
Try it online!
answered Dec 21 at 12:12
Erik the Outgolfer
31.3k429102
31.3k429102
Only need to map consonants, so“ØṖ¦Mṗẏʋ@¥;}/’ṃⱮØCŒH¤⁺żẎy
saves 4. (Can't get rid of 'y' withØY
since it's on the right of the map)
– Jonathan Allan
Dec 21 at 19:01
add a comment |
Only need to map consonants, so“ØṖ¦Mṗẏʋ@¥;}/’ṃⱮØCŒH¤⁺żẎy
saves 4. (Can't get rid of 'y' withØY
since it's on the right of the map)
– Jonathan Allan
Dec 21 at 19:01
Only need to map consonants, so
“ØṖ¦Mṗẏʋ@¥;}/’ṃⱮØCŒH¤⁺żẎy
saves 4. (Can't get rid of 'y' with ØY
since it's on the right of the map)– Jonathan Allan
Dec 21 at 19:01
Only need to map consonants, so
“ØṖ¦Mṗẏʋ@¥;}/’ṃⱮØCŒH¤⁺żẎy
saves 4. (Can't get rid of 'y' with ØY
since it's on the right of the map)– Jonathan Allan
Dec 21 at 19:01
add a comment |
Japt, 37 bytes
;®i`
ypetjkkp¡okrtyp©jkyb`pu)gCpu bZ
Try it online!
The above link includes most test cases, but I haven't been able to input the second to last one as a string because it contains both single and double quotes. Here is that test case, input as an array of characters instead.
Explanation:
; #Set C to the lowercase alphabet
® #For each character Z of the input:
bZ # Find its index in:
C # The lowercase alphabet
pu # Plus the uppercase alphabet
# (-1 if it is not a letter)
g # And get the character at that index in:
`
ypetjkkp¡okrtyp©jkyb` # Get the lowercase Corpus alphabet
pu) # Plus the uppercase Corpus alphabet
i # Add Z at the end (index -1)
add a comment |
Japt, 37 bytes
;®i`
ypetjkkp¡okrtyp©jkyb`pu)gCpu bZ
Try it online!
The above link includes most test cases, but I haven't been able to input the second to last one as a string because it contains both single and double quotes. Here is that test case, input as an array of characters instead.
Explanation:
; #Set C to the lowercase alphabet
® #For each character Z of the input:
bZ # Find its index in:
C # The lowercase alphabet
pu # Plus the uppercase alphabet
# (-1 if it is not a letter)
g # And get the character at that index in:
`
ypetjkkp¡okrtyp©jkyb` # Get the lowercase Corpus alphabet
pu) # Plus the uppercase Corpus alphabet
i # Add Z at the end (index -1)
add a comment |
Japt, 37 bytes
;®i`
ypetjkkp¡okrtyp©jkyb`pu)gCpu bZ
Try it online!
The above link includes most test cases, but I haven't been able to input the second to last one as a string because it contains both single and double quotes. Here is that test case, input as an array of characters instead.
Explanation:
; #Set C to the lowercase alphabet
® #For each character Z of the input:
bZ # Find its index in:
C # The lowercase alphabet
pu # Plus the uppercase alphabet
# (-1 if it is not a letter)
g # And get the character at that index in:
`
ypetjkkp¡okrtyp©jkyb` # Get the lowercase Corpus alphabet
pu) # Plus the uppercase Corpus alphabet
i # Add Z at the end (index -1)
Japt, 37 bytes
;®i`
ypetjkkp¡okrtyp©jkyb`pu)gCpu bZ
Try it online!
The above link includes most test cases, but I haven't been able to input the second to last one as a string because it contains both single and double quotes. Here is that test case, input as an array of characters instead.
Explanation:
; #Set C to the lowercase alphabet
® #For each character Z of the input:
bZ # Find its index in:
C # The lowercase alphabet
pu # Plus the uppercase alphabet
# (-1 if it is not a letter)
g # And get the character at that index in:
`
ypetjkkp¡okrtyp©jkyb` # Get the lowercase Corpus alphabet
pu) # Plus the uppercase Corpus alphabet
i # Add Z at the end (index -1)
edited 3 hours ago
answered Dec 21 at 15:51
Kamil Drakari
2,971416
2,971416
add a comment |
add a comment |
Python 2, 138 132 bytes
def f(i,a='bcdfghjlmnpqrstvwxz',b='typtjktpstkrtyptjkb'):a+=a.upper();b+=b.upper();return''.join((x,b[a.find(x)])[x in a]for x in i)
Try it online!
Actually shorter with a named function than with a lambda!
lambda version, 138 bytes
lambda i,a='bcdfghjlmnpqrstvwxzBCDFGHJLMNPQRSTVWXZ',b='typtjktpstkrtyptjkbTYPTJKTPSTKRTYPTJKB':''.join((x,b[a.find(x)])[x in a]for x in i)
Try it online!
131 125 if we are allowed to return an array of characters and have the join
outside the function.
def f(i,a='bcdfghjlmnpqrstvwxz',b='typtjktpstkrtyptjkb'):a+=a.upper();b+=b.upper();return[(x,b[a.find(x)])[x in a]for x in i]
Try it online!
1
You can still use a lambda if you makea
andb
global variables
– Black Owl Kai
Dec 20 at 22:58
@BlackOwlKai - Thanks. Have been playing with that idea but it's getting late. Maybe tomorrow :)
– ElPedro
Dec 20 at 22:59
Got it down to 120/113 characters (TIO without the testcases, else the link would be too long for a comment)
– Black Owl Kai
Dec 20 at 23:08
Beats mine and different enough for you to post as your own answer. I'll upvote :)
– ElPedro
Dec 20 at 23:09
Feel free to steal my test cases as well. They took longer to type in than the code...
– ElPedro
Dec 20 at 23:12
add a comment |
Python 2, 138 132 bytes
def f(i,a='bcdfghjlmnpqrstvwxz',b='typtjktpstkrtyptjkb'):a+=a.upper();b+=b.upper();return''.join((x,b[a.find(x)])[x in a]for x in i)
Try it online!
Actually shorter with a named function than with a lambda!
lambda version, 138 bytes
lambda i,a='bcdfghjlmnpqrstvwxzBCDFGHJLMNPQRSTVWXZ',b='typtjktpstkrtyptjkbTYPTJKTPSTKRTYPTJKB':''.join((x,b[a.find(x)])[x in a]for x in i)
Try it online!
131 125 if we are allowed to return an array of characters and have the join
outside the function.
def f(i,a='bcdfghjlmnpqrstvwxz',b='typtjktpstkrtyptjkb'):a+=a.upper();b+=b.upper();return[(x,b[a.find(x)])[x in a]for x in i]
Try it online!
1
You can still use a lambda if you makea
andb
global variables
– Black Owl Kai
Dec 20 at 22:58
@BlackOwlKai - Thanks. Have been playing with that idea but it's getting late. Maybe tomorrow :)
– ElPedro
Dec 20 at 22:59
Got it down to 120/113 characters (TIO without the testcases, else the link would be too long for a comment)
– Black Owl Kai
Dec 20 at 23:08
Beats mine and different enough for you to post as your own answer. I'll upvote :)
– ElPedro
Dec 20 at 23:09
Feel free to steal my test cases as well. They took longer to type in than the code...
– ElPedro
Dec 20 at 23:12
add a comment |
Python 2, 138 132 bytes
def f(i,a='bcdfghjlmnpqrstvwxz',b='typtjktpstkrtyptjkb'):a+=a.upper();b+=b.upper();return''.join((x,b[a.find(x)])[x in a]for x in i)
Try it online!
Actually shorter with a named function than with a lambda!
lambda version, 138 bytes
lambda i,a='bcdfghjlmnpqrstvwxzBCDFGHJLMNPQRSTVWXZ',b='typtjktpstkrtyptjkbTYPTJKTPSTKRTYPTJKB':''.join((x,b[a.find(x)])[x in a]for x in i)
Try it online!
131 125 if we are allowed to return an array of characters and have the join
outside the function.
def f(i,a='bcdfghjlmnpqrstvwxz',b='typtjktpstkrtyptjkb'):a+=a.upper();b+=b.upper();return[(x,b[a.find(x)])[x in a]for x in i]
Try it online!
Python 2, 138 132 bytes
def f(i,a='bcdfghjlmnpqrstvwxz',b='typtjktpstkrtyptjkb'):a+=a.upper();b+=b.upper();return''.join((x,b[a.find(x)])[x in a]for x in i)
Try it online!
Actually shorter with a named function than with a lambda!
lambda version, 138 bytes
lambda i,a='bcdfghjlmnpqrstvwxzBCDFGHJLMNPQRSTVWXZ',b='typtjktpstkrtyptjkbTYPTJKTPSTKRTYPTJKB':''.join((x,b[a.find(x)])[x in a]for x in i)
Try it online!
131 125 if we are allowed to return an array of characters and have the join
outside the function.
def f(i,a='bcdfghjlmnpqrstvwxz',b='typtjktpstkrtyptjkb'):a+=a.upper();b+=b.upper();return[(x,b[a.find(x)])[x in a]for x in i]
Try it online!
edited Dec 20 at 22:57
answered Dec 20 at 21:17
ElPedro
3,4631023
3,4631023
1
You can still use a lambda if you makea
andb
global variables
– Black Owl Kai
Dec 20 at 22:58
@BlackOwlKai - Thanks. Have been playing with that idea but it's getting late. Maybe tomorrow :)
– ElPedro
Dec 20 at 22:59
Got it down to 120/113 characters (TIO without the testcases, else the link would be too long for a comment)
– Black Owl Kai
Dec 20 at 23:08
Beats mine and different enough for you to post as your own answer. I'll upvote :)
– ElPedro
Dec 20 at 23:09
Feel free to steal my test cases as well. They took longer to type in than the code...
– ElPedro
Dec 20 at 23:12
add a comment |
1
You can still use a lambda if you makea
andb
global variables
– Black Owl Kai
Dec 20 at 22:58
@BlackOwlKai - Thanks. Have been playing with that idea but it's getting late. Maybe tomorrow :)
– ElPedro
Dec 20 at 22:59
Got it down to 120/113 characters (TIO without the testcases, else the link would be too long for a comment)
– Black Owl Kai
Dec 20 at 23:08
Beats mine and different enough for you to post as your own answer. I'll upvote :)
– ElPedro
Dec 20 at 23:09
Feel free to steal my test cases as well. They took longer to type in than the code...
– ElPedro
Dec 20 at 23:12
1
1
You can still use a lambda if you make
a
and b
global variables– Black Owl Kai
Dec 20 at 22:58
You can still use a lambda if you make
a
and b
global variables– Black Owl Kai
Dec 20 at 22:58
@BlackOwlKai - Thanks. Have been playing with that idea but it's getting late. Maybe tomorrow :)
– ElPedro
Dec 20 at 22:59
@BlackOwlKai - Thanks. Have been playing with that idea but it's getting late. Maybe tomorrow :)
– ElPedro
Dec 20 at 22:59
Got it down to 120/113 characters (TIO without the testcases, else the link would be too long for a comment)
– Black Owl Kai
Dec 20 at 23:08
Got it down to 120/113 characters (TIO without the testcases, else the link would be too long for a comment)
– Black Owl Kai
Dec 20 at 23:08
Beats mine and different enough for you to post as your own answer. I'll upvote :)
– ElPedro
Dec 20 at 23:09
Beats mine and different enough for you to post as your own answer. I'll upvote :)
– ElPedro
Dec 20 at 23:09
Feel free to steal my test cases as well. They took longer to type in than the code...
– ElPedro
Dec 20 at 23:12
Feel free to steal my test cases as well. They took longer to type in than the code...
– ElPedro
Dec 20 at 23:12
add a comment |
PHP, 100 bytes
Code
<?=strtr($argv[0],($u=bcdfghjklmnpqrstvwxyz).($f=strtoupper)($u),($v=typtjktkpstkrtyptjkyb).$f($v));
Try it online!
Explanation
# using the provided character mapping given on the question, as an array
strtr($argv[0], # strtr for the string replacement
($u=bcdfghjklmnpqrstvwxyz).($f=strtoupper)($u), # Taking onthe the keys for the first string
($v=typtjktkpstkrtyptjkyb).$f($v)); # Using the values for second string
# In both Strings appending the upper version of each string.
add a comment |
PHP, 100 bytes
Code
<?=strtr($argv[0],($u=bcdfghjklmnpqrstvwxyz).($f=strtoupper)($u),($v=typtjktkpstkrtyptjkyb).$f($v));
Try it online!
Explanation
# using the provided character mapping given on the question, as an array
strtr($argv[0], # strtr for the string replacement
($u=bcdfghjklmnpqrstvwxyz).($f=strtoupper)($u), # Taking onthe the keys for the first string
($v=typtjktkpstkrtyptjkyb).$f($v)); # Using the values for second string
# In both Strings appending the upper version of each string.
add a comment |
PHP, 100 bytes
Code
<?=strtr($argv[0],($u=bcdfghjklmnpqrstvwxyz).($f=strtoupper)($u),($v=typtjktkpstkrtyptjkyb).$f($v));
Try it online!
Explanation
# using the provided character mapping given on the question, as an array
strtr($argv[0], # strtr for the string replacement
($u=bcdfghjklmnpqrstvwxyz).($f=strtoupper)($u), # Taking onthe the keys for the first string
($v=typtjktkpstkrtyptjkyb).$f($v)); # Using the values for second string
# In both Strings appending the upper version of each string.
PHP, 100 bytes
Code
<?=strtr($argv[0],($u=bcdfghjklmnpqrstvwxyz).($f=strtoupper)($u),($v=typtjktkpstkrtyptjkyb).$f($v));
Try it online!
Explanation
# using the provided character mapping given on the question, as an array
strtr($argv[0], # strtr for the string replacement
($u=bcdfghjklmnpqrstvwxyz).($f=strtoupper)($u), # Taking onthe the keys for the first string
($v=typtjktkpstkrtyptjkyb).$f($v)); # Using the values for second string
# In both Strings appending the upper version of each string.
answered Dec 21 at 18:14
Francisco Hahn
4369
4369
add a comment |
add a comment |
Pyth, 35 Bytes
XQ.*m+r1dd[tG."byàHuH¯¹e?rJyfh
Try it!
Could probably use Left map or something to get rid of the two d's, but I couldn't figure out how.
add a comment |
Pyth, 35 Bytes
XQ.*m+r1dd[tG."byàHuH¯¹e?rJyfh
Try it!
Could probably use Left map or something to get rid of the two d's, but I couldn't figure out how.
add a comment |
Pyth, 35 Bytes
XQ.*m+r1dd[tG."byàHuH¯¹e?rJyfh
Try it!
Could probably use Left map or something to get rid of the two d's, but I couldn't figure out how.
Pyth, 35 Bytes
XQ.*m+r1dd[tG."byàHuH¯¹e?rJyfh
Try it!
Could probably use Left map or something to get rid of the two d's, but I couldn't figure out how.
answered Dec 21 at 20:00
KarlKastor
2,1871716
2,1871716
add a comment |
add a comment |
Java, 211 Bytes
a->{String b="BCDFGHJLMNPQRSTVWXZbcdfghjlmnpqrstvwxz",c="TYPTJKTPSTKRTYPTJKBtyptjktpstkrtyptjkb";a.chars().map(x->{int z;return(z=b.indexOf(x))>-1?c.toCharArray()[z]:x;}).forEach(x->System.out.print((char)x));};
Try it online!
add a comment |
Java, 211 Bytes
a->{String b="BCDFGHJLMNPQRSTVWXZbcdfghjlmnpqrstvwxz",c="TYPTJKTPSTKRTYPTJKBtyptjktpstkrtyptjkb";a.chars().map(x->{int z;return(z=b.indexOf(x))>-1?c.toCharArray()[z]:x;}).forEach(x->System.out.print((char)x));};
Try it online!
add a comment |
Java, 211 Bytes
a->{String b="BCDFGHJLMNPQRSTVWXZbcdfghjlmnpqrstvwxz",c="TYPTJKTPSTKRTYPTJKBtyptjktpstkrtyptjkb";a.chars().map(x->{int z;return(z=b.indexOf(x))>-1?c.toCharArray()[z]:x;}).forEach(x->System.out.print((char)x));};
Try it online!
Java, 211 Bytes
a->{String b="BCDFGHJLMNPQRSTVWXZbcdfghjlmnpqrstvwxz",c="TYPTJKTPSTKRTYPTJKBtyptjktpstkrtyptjkb";a.chars().map(x->{int z;return(z=b.indexOf(x))>-1?c.toCharArray()[z]:x;}).forEach(x->System.out.print((char)x));};
Try it online!
edited Dec 21 at 21:11
answered Dec 21 at 21:06
Hypino
22116
22116
add a comment |
add a comment |
Pyth, 34 chars
J."byàHuH¯¹e?rJyfh"XXztGJrtG1rJ1
Try it online!
The string is a compressed version of "typetjkitkpstokrtyputjkyb". For some reason I cannot get Pyth to compress "atypetjkitkpstokrtyputjkyb" with the function
+++.N++hSzeSzCi-RChSzCMz-hCeSzChSzN
even though it would probably save a byte or two as the two t's could be eliminated.
New contributor
add a comment |
Pyth, 34 chars
J."byàHuH¯¹e?rJyfh"XXztGJrtG1rJ1
Try it online!
The string is a compressed version of "typetjkitkpstokrtyputjkyb". For some reason I cannot get Pyth to compress "atypetjkitkpstokrtyputjkyb" with the function
+++.N++hSzeSzCi-RChSzCMz-hCeSzChSzN
even though it would probably save a byte or two as the two t's could be eliminated.
New contributor
add a comment |
Pyth, 34 chars
J."byàHuH¯¹e?rJyfh"XXztGJrtG1rJ1
Try it online!
The string is a compressed version of "typetjkitkpstokrtyputjkyb". For some reason I cannot get Pyth to compress "atypetjkitkpstokrtyputjkyb" with the function
+++.N++hSzeSzCi-RChSzCMz-hCeSzChSzN
even though it would probably save a byte or two as the two t's could be eliminated.
New contributor
Pyth, 34 chars
J."byàHuH¯¹e?rJyfh"XXztGJrtG1rJ1
Try it online!
The string is a compressed version of "typetjkitkpstokrtyputjkyb". For some reason I cannot get Pyth to compress "atypetjkitkpstokrtyputjkyb" with the function
+++.N++hSzeSzCi-RChSzCMz-hCeSzChSzN
even though it would probably save a byte or two as the two t's could be eliminated.
New contributor
New contributor
answered yesterday
Lucas Bertocchini
11
11
New contributor
New contributor
add a comment |
add a comment |
Tcl, 114 bytes
proc C s {string map [split {btcydpftgjhkjtlpmsntpkqrrtsytpvtwjxkzbBTCYDPFTGJHKJTLPMSNTPKQRRTSYTPVTWJXKZB} ""] $s}
Try it online!
add a comment |
Tcl, 114 bytes
proc C s {string map [split {btcydpftgjhkjtlpmsntpkqrrtsytpvtwjxkzbBTCYDPFTGJHKJTLPMSNTPKQRRTSYTPVTWJXKZB} ""] $s}
Try it online!
add a comment |
Tcl, 114 bytes
proc C s {string map [split {btcydpftgjhkjtlpmsntpkqrrtsytpvtwjxkzbBTCYDPFTGJHKJTLPMSNTPKQRRTSYTPVTWJXKZB} ""] $s}
Try it online!
Tcl, 114 bytes
proc C s {string map [split {btcydpftgjhkjtlpmsntpkqrrtsytpvtwjxkzbBTCYDPFTGJHKJTLPMSNTPKQRRTSYTPVTWJXKZB} ""] $s}
Try it online!
answered 10 hours ago
sergiol
2,4921925
2,4921925
add a comment |
add a comment |
If this is an answer to a challenge…
…Be sure to follow the challenge specification. However, please refrain from exploiting obvious loopholes. Answers abusing any of the standard loopholes are considered invalid. If you think a specification is unclear or underspecified, comment on the question instead.
…Try to optimize your score. For instance, answers to code-golf challenges should attempt to be as short as possible. You can always include a readable version of the code in addition to the competitive one.
Explanations of your answer make it more interesting to read and are very much encouraged.…Include a short header which indicates the language(s) of your code and its score, as defined by the challenge.
More generally…
…Please make sure to answer the question and provide sufficient detail.
…Avoid asking for help, clarification or responding to other answers (use comments instead).
Some of your past answers have not been well-received, and you're in danger of being blocked from answering.
Please pay close attention to the following guidance:
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fcodegolf.stackexchange.com%2fquestions%2f177866%2ftranslate-english-to-corpus%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
@Shaggy Sure, shoulda thought of that
– Skidsdev
Dec 20 at 19:25
4
@RobertS. it also provides no bonus to your score (
x * 1 == x
). It's a tongue-in-cheek poke at the unpronouncability of many of the translations– Skidsdev
Dec 20 at 19:38
Can output be an array of characters?
– ElPedro
Dec 20 at 21:23
@Skidsdev The "translations" are pronounceable; either as a recorded human voice or programmatically using machine learning and/or text-to-speech technologies.
– guest271314
Dec 20 at 22:19
@ngn oops my bad, copied from reddit :P
– Skidsdev
Dec 21 at 13:44