1236번: 성 지키기 (브론즈1, 구현)
문제
1236번: 성 지키기
첫째 줄에 성의 세로 크기 N과 가로 크기 M이 주어진다. N과 M은 50보다 작거나 같은 자연수이다. 둘째 줄부터 N개의 줄에는 성의 상태가 주어진다. 성의 상태는 .은 빈칸, X는 경비원이 있는 칸이다
www.acmicpc.net
정답
입력받은 n개의 행에서 X가 있지 않은 행의 개수와
m개의 열에서 X가 있지 않은 열의 개수를 찾아서 최대값을 구하는 형태
n,m = map(int,input().split()) #n,m 입력
array = []
for _ in n:
array.append(input()) #n개의 행만큼 array 리스트 생성
a,b = 0,0 #a=행개수/b=열개수
for i in range(n): #행 한개씩 확인
if "X" not in array[i]: #X가 없으면 a에 1 더하기
a += 1 #X가 없는 총 행개수
for j in range(m): #열 한개씩 확인
if "X" not in [array[i][j] for i in array[n]]: #X가 없으면 b에 1 더하기
b += 1 #X가 없는 총 열개수
print(max(a,b)) #행이나 열 둘중 X가 있으면 되기 때문에, 최대값 구하기!
#만약 행, 열 둘다 X가 없어야한다면, 최소값 구하면 된다.
공부한 내용
1. 코드 간소화
아래 코드는 내가 시도하고자 했던 방향. 물론 오답이다.
아직도 n,m을 한꺼번에 지정하는 것에 익숙하지 않다. 예) a,b = 0,0
또한, append 되지 않고 가장 마지막 line list만 저장되기 때문에 오답이다.
X = list(map(int,input().split()))
n = int(X[0]) #행
m = int(X[1]) #열
line = [0]
for i in range(n):
line = list(map(str,input().split('/n')))
line.append
레퍼런스
- 다른 정답 풀이
백준 파이썬 1236번: 성 지키기
www.acmicpc.net/problem/1236 1236번: 성 지키기 첫째 줄에 성의 세로 크기 N과 가로 크기 M이 주어진다. N과 M은 50보다 작거나 같은 자연수이다. 둘째 줄부터 N개의 줄에는 성의 상태가 주어진다. 성의 상
tturbo0824.tistory.com
- 정답 깃허브
GitHub - yyeongeun/codingtest: 코딩테스트 공부
코딩테스트 공부. Contribute to yyeongeun/codingtest development by creating an account on GitHub.
github.com
'Algorithm > 구현' 카테고리의 다른 글
[Python3] 백준 1268번 임시 반장 정하기 (0) | 2023.01.05 |
---|---|
[Python3] 백준 1259번 팰린드롬수 (0) | 2023.01.04 |
[Python3] 백준 1193번 분수찾기 (0) | 2023.01.03 |
[Python3] 백준 1157번 단어 공부 (0) | 2022.12.29 |
[Python3] 백준 1145번 적어도 대부분의 배수 (0) | 2022.12.29 |
댓글