From 1e2dd2cf99082888dbcee45767bdcf5ef228e9ad Mon Sep 17 00:00:00 2001 From: Dmitry Kokorin Date: Wed, 2 Mar 2016 15:03:38 +0300 Subject: [PATCH] rna_transcription: iteration 1 --- cpp/rna-transcription/rna_transcription.cpp | 25 +++++++++++++++++++++ cpp/rna-transcription/rna_transcription.h | 12 ++++++++++ 2 files changed, 37 insertions(+) create mode 100644 cpp/rna-transcription/rna_transcription.cpp create mode 100644 cpp/rna-transcription/rna_transcription.h diff --git a/cpp/rna-transcription/rna_transcription.cpp b/cpp/rna-transcription/rna_transcription.cpp new file mode 100644 index 0000000..2f4d4ef --- /dev/null +++ b/cpp/rna-transcription/rna_transcription.cpp @@ -0,0 +1,25 @@ +#include "rna_transcription.h" + +#include +#include + +namespace transcription { + +using namespace std; + +char to_rna(char c) +{ + static const unordered_map nucleotide_map = + {{'C', 'G'}, {'G', 'C'}, {'A', 'U'}, {'T', 'A'}}; + + return nucleotide_map.at(c); +} + +string to_rna(string str) +{ + transform(str.begin(), str.end(), str.begin(), + static_cast(&to_rna)); + return str; +} + +} diff --git a/cpp/rna-transcription/rna_transcription.h b/cpp/rna-transcription/rna_transcription.h new file mode 100644 index 0000000..eba3f14 --- /dev/null +++ b/cpp/rna-transcription/rna_transcription.h @@ -0,0 +1,12 @@ +#pragma once + +#define EXERCISM_RUN_ALL_TESTS + +#include + +namespace transcription { + +char to_rna(char); +std::string to_rna(std::string); + +}