문제
풀이
- 브루트포스, 그리디 알고리즘
- 맨 처음 문제 자체를 이해하기가 매우 어려웠다. 그래서 검색을 통해 문제 풀이를 찾아보니 다음과 같이 이해하면 되는 문제였다.
코드
n, m = map(int, input().split())
arr = []
# 문자열을 list형식으로 담아준다
for i in range(n):
arr.append(list(map(str, input())))
cnt, hap = 0, 0
result = ''
for i in range(m):
a, c, g, t = 0, 0, 0, 0
for j in range(n):
if arr[j][i] == 'T':
t += 1
elif arr[j][i] == 'A':
a += 1
elif arr[j][i] == 'G':
g += 1
elif arr[j][i] == 'C':
c += 1
if max(a,c,g,t) == a:
result += 'A'
hap += c + g +t
elif max(a,c,g,t) == c:
result += 'C'
hap += a + g +t
elif max(a,c,g,t) == g:
result += 'G'
hap += a + c +t
elif max(a,c,g,t) == t:
result += 'T'
hap += c + g + a
print(result)
print(hap)
'코딩테스트 > BOJ' 카테고리의 다른 글
[백준/파이썬] 1110번: 더하기 사이클 (Python) (0) | 2021.04.15 |
---|---|
[백준/파이썬] 7568번: 덩치 (Python) (0) | 2021.04.15 |
[백준/파이썬] 1436번: 영화감독 숌 (Python) (0) | 2021.04.14 |
[파이썬/백준] 3040번: 백설 공주와 일곱 난쟁이 (Python) (0) | 2021.04.14 |