728x90
반응형
BaekJoon 백준 14647 준오는 조류 혐오야!! 문제는 빙고판에 모든 행과 열을 통틀어서 9가 가장 많이 쓰여 있는 행 또는 열을 단 하나만 부순다. 빙고판에 남아있는 9의 개수만큼 준오를 때리기로 했다. 몇 대를 맞아야 할지 구하는 문제이다. 난이도는 Bronze 1이다.
BaekJoon 14647 준오는 조류 혐오야!! 문제 정보
출처
- https://www.acmicpc.net/problem/14647
알고리즘 분류
- 구현
난이도
- 브론즈 1 / Bronze 1
준오는 조류 혐오야!! 문제 요약
- 특히 비둘기를 싫어하는 준오는 짝꿍의 빙고판에 9가 들어간 숫자들이 엄청 많아서 비둘기가 떠올랐기 때문에 짝꿍의 빙고판을 부숴버렸다.
- 준오의 폭동에는 특별한 룰이 있다. 바로 모든 행과 열을 통틀어서 9가 가장 많이 쓰여 있는 행 또는 열을 단 하나만 부수는 것이다!
- 빙고판을 부수는 순간 준오와 선생님의 눈이 마주쳤고, 선생님은 빙고판에 남아있는 9의 개수만큼 준오를 때리기로 했다. 준오는 몇 대를 맞아야 할지 구하여 출력한다.
- 직사각형 빙고판의 크기를 뜻하는 n(1 ≤ n ≤ 500)과 m(1 ≤ m ≤ 500)이 주어진다. 빙고판에는 10,000 이하의 음이 아닌 정수가 적힌다.
문제 풀이 과정
- 빙고판의 수를 행 별로 입력받으면서, 행 별로 9의 개수가 몇 개씩 있는 지도 함께 저장한다.
- 열 별로 9의 개수가 몇 개씩 있는지 저장한다.
- 9의 총개수에서 9가 제일 많은 행 또는 열에서의 9의 개수를 빼서 준오가 몇 대 맞아야 하는 지를 구하여 출력한다.
코드 및 설명
- row9 Num [] - 행 별 9의 개수
- column9 Num [] - 열 별 9의 개수
n, m = map(int, input().split())
bingo = []
row9Num, column9Num = [], []
for _ in range(n):
tmp = list(map(str, input().split()))
bingo.append(tmp)
# 행 별 9의 개수 저장
rowCnt9 = 0
for t in tmp:
rowCnt9 += t.count('9')
row9Num.append(rowCnt9)
# 열 별 9의 개수 저장
for i in range(m):
columnCnt9 = 0
for j in range(n):
columnCnt9 += bingo[j][i].count('9')
column9Num.append(columnCnt9)
# 9의 총 개수 - 9가 제일 많은 행 또는 열의 9의 개수
print(sum(row9Num) - max(max(row9Num), max(column9Num)))
BaekJoon 백준 14647 준오는 조류 혐오야!! 문제를 파이썬 python으로 풀어보았다. 난이도는 Bronze 브론즈 1이다.
728x90
반응형
'Algorithm Problem Solving > BaekJoon' 카테고리의 다른 글
[BaekJoon] 백준 1296 데이트 (Python / 파이썬) (0) | 2021.08.27 |
---|---|
[BaekJoon] 백준 11070 피타고라스 기댓값 (Python / 파이썬) (1) | 2021.08.27 |
[BaekJoon] 백준 17294 귀여운 수~ε٩(๑> ₃ <)۶з (Python / 파이썬) (0) | 2021.08.26 |
[BaekJoon] 백준 17269 이름궁합 테스트 (Python / 파이썬) (0) | 2021.08.25 |
[BaekJoon] 백준 11383 뚊 (Python / 파이썬) (0) | 2021.08.25 |
댓글