# String# Conditional Statements

e934 - pD. DNA 轉錄

🔗 前往 ZeroJudge 原題

題目描述

題目要求根據 DNA 轉錄為 RNA 的規則,將給定的 DNA 字串轉換為 RNA 字串並輸出。DNA 的鹼基 T、A、G、C 分別對應 RNA 的鹼基 A、U、C、G。

解題思路

此題為簡單的字串處理問題。程式碼逐一讀取 DNA 字串中的每個字元,並根據題目給定的轉錄規則,將其轉換為對應的 RNA 字元,然後立即輸出。由於輸入的 DNA 字串長度已知,且只需要對每個字元進行簡單的條件判斷和替換,因此可以直接使用 scanf 逐字讀取並輸出。

複雜度分析

  • 時間複雜度: O(n),其中 n 是 DNA 字串的長度。因為程式碼需要遍歷 DNA 字串中的每個字元一次。
  • 空間複雜度: O(1),因為程式碼只使用了常數級別的額外空間來儲存字元。

程式碼

#include <stdio.h>
int main(){
	char a;
	while(scanf("%c",&a)>0){
		if(a=='T')
			printf("A");
		else if(a=='A')
			printf("U");
		else if(a=='G')
			printf("C");
		else if(a=='C')
			printf("G");
	}
}

Discussion