문제
각 DNA 문자를 대응되는 RNA 문자로 바꿔 RNA 문자열을 만드세요. 전체 매핑은 다음과 같습니다: A → U, C → G, G → C, T → A. 원래 순서를 그대로 유지하세요. 생물학 지식은 필요하지 않습니다.
dna_to_rna(dna)를 구현하세요.
입력
dna: 변환할 DNA 문자열입니다.
출력
변환된 문자열을 반환하세요. 빈 입력이 들어오면 빈 문자열을 반환하세요.
제약 조건
0 ≤ DNA 길이 ≤ 100,000. 문자는 대문자 A, C, G, T 중 하나입니다.
예시
예시 1
입력:
dna = "ACGT"
예상 출력:
expected = "UGCA"
입력:
std::string dna = "ACGT";
예상 출력:
std::string expected = "UGCA";
입력:
string dna = "ACGT";
예상 출력:
string expected = "UGCA";
설명
A는 U로, C는 G로, G는 C로, T는 A로 바뀌어 UGCA가 됩니다.
예시 2
입력:
dna = ""
예상 출력:
expected = ""
입력:
std::string dna = "";
예상 출력:
std::string expected = "";
입력:
string dna = "";
예상 출력:
string expected = "";
설명
바꿀 문자가 없으므로 결과도 빈 문자열입니다.
접근 방법
먼저 스스로 풀어 본 뒤 힌트를 하나씩 열어 보세요.
힌트 1
DNA 문자 하나는 RNA 문자 하나에만 대응하므로, 문자별로 변환하세요.
힌트 2
네 가지 유효한 기호는 직접 매핑하고, 순서는 그대로 유지하세요.
힌트 3
빈 입력은 빈 문자열을 반환해야 하며, 모든 문자는 항상 유효합니다.
예상 복잡도
시간 O(n), 추가 공간 O(n)
참고 자료
이 문제는 CodeUtility에 맞게 수정되었습니다. 위의 설명과 제한 조건을 따르세요.