给定一个DNA链,返回它的RNA补体(每个RNA转录)。
DNA和RNA链都是一个核苷酸序列。
DNA中的4个核苷酸为腺嘌呤(A)、胞嘧啶(C)、鸟嘌呤(G)和胸腺嘧啶(T)。
RNA中的4个核苷酸为腺嘌呤(A)、胞嘧啶(C)、鸟嘌呤(G)和尿嘧啶(U)。
给定一条DNA链,其转录的RNA链是通过用其补体替换每个核苷酸而形成的:
G -> CC -> GT -> AA -> U'Invalid Input''C' -> 'G'
'A' -> 'U'
'ACGTGGTCTTAA' -> 'UGCACCAGAAUU'
'XXX' -> 'Invalid Input'
'ACGTXXXCTTAA' -> 'Invalid Input'
这项任务来自强迫症,它由卡特里娜欧文创建,并获得麻省理工学院许可。
发布于 2018-02-18 09:21:53
发布于 2018-02-18 09:24:57
(x;"Invalid Input")@|/^x:"CGAU""GCTA"?q)k)(x;"Invalid Input")@|/^x:"CGAU""GCTA"?"C"
"G"
q)k)(x;"Invalid Input")@|/^x:"CGAU""GCTA"?"C"
"G"
q)k)(x;"Invalid Input")@|/^x:"CGAU""GCTA"?"G"
"C"
q)k)(x;"Invalid Input")@|/^x:"CGAU""GCTA"?"ACGTGGTCTTAA"
"UGCACCAGAAUU"
q)k)(x;"Invalid Input")@|/^x:"CGAU""GCTA"?"XXX"
"Invalid Input"
q)k)(x;"Invalid Input")@|/^x:"CGAU""GCTA"?"ACGTXXXCTTAA"
"Invalid Input"映射是微不足道的。“无效输入”部分的25个字节。
(x;"Invalid Input")@|/^x:"CGAU""GCTA"? / the solution
"GCTA"? / return index in left list
"CGAU" / index into this list
x: / save as x
^ / null, any nulls in x?
|/ / take max
@ / index into
( ; ) / two item list
"Invalid Input" / result if null found
x / result if no nulls found发布于 2018-02-18 18:17:30
f(s){for(char*t="GCTA",*o=s=strdup(s),*q;*o;o++)(q=strchr(t,*o))?*o="CGAU"[q-t]:(s="Invalid input!");puts(s);}https://codegolf.stackexchange.com/questions/156045
复制相似问题