์ฝ”ํ…Œ์ค€๋น„

<๊ทธ๋ฆฌ๋””> ๋ฐฑ์ค€ 1969๋ฒˆ. DNA (์‹ค๋ฒ„ 5)

์š”๋Œœ๋‹ค 2023. 1. 2. 01:47

https://www.acmicpc.net/problem/1969

 

1969๋ฒˆ: DNA

DNA๋ž€ ์–ด๋–ค ์œ ์ „๋ฌผ์งˆ์„ ๊ตฌ์„ฑํ•˜๋Š” ๋ถ„์ž์ด๋‹ค. ์ด DNA๋Š” ์„œ๋กœ ๋‹ค๋ฅธ 4๊ฐ€์ง€์˜ ๋‰ดํด๋ ˆ์˜คํ‹ฐ๋“œ๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ๋‹ค(Adenine, Thymine, Guanine, Cytosine). ์šฐ๋ฆฌ๋Š” ์–ด๋–ค DNA์˜ ๋ฌผ์งˆ์„ ํ‘œํ˜„ํ•  ๋•Œ, ์ด DNA๋ฅผ ์ด๋ฃจ๋Š” ๋‰ดํด๋ ˆ์˜ค

www.acmicpc.net

import sys
input = sys.stdin.readline
lst = []
res = []
cnt = 0

n, m = map(int, input().split())
for _ in range(n):
  lst.append(list(map(str, input().rstrip())))

for j in range(m): 
  cnt_lst = [0,0,0,0] #A,C,G,T
  for i in range(n): 
    if lst[i][j] == 'A':
      cnt_lst[0] += 1
    elif lst[i][j] == 'C':
      cnt_lst[1] += 1
    elif lst[i][j] == 'G':
      cnt_lst[2] += 1
    elif lst[i][j] == 'T':
      cnt_lst[3] += 1
  if cnt_lst.index(max(cnt_lst)) == 0:
    res.append('A')
  elif cnt_lst.index(max(cnt_lst)) == 1:
    res.append('C')
  elif cnt_lst.index(max(cnt_lst)) == 2:
    res.append('G')
  elif cnt_lst.index(max(cnt_lst)) == 3:
    res.append('T')
  cnt += n - max(cnt_lst)

print(''.join(res))
print(cnt)
"""
5 8
TATGATAC
TAAGCTAC
AAAGATCC
TGAGATAC
TAAGATGT
"""