알고리즘 문제 풀이: 파이썬/BOJ

[BOJ_1236] 성 지키기

hueco 2021. 10. 24.

문제 링크: https://www.acmicpc.net/problem/1236

 

1236번: 성 지키기

첫째 줄에 성의 세로 크기 N과 가로 크기 M이 주어진다. N과 M은 50보다 작거나 같은 자연수이다. 둘째 줄부터 N개의 줄에는 성의 상태가 주어진다. 성의 상태는 .은 빈칸, X는 경비원이 있는 칸이다

www.acmicpc.net

내 풀이:

Review:

 문제를 풀고 제출했을 때 Fail이 뜨는 것을 보고, 문제의 조건을 다시 한번 확인했다. 처음 풀었을 때는 가로행에 대해서만 경비원을 카운팅 했기 때문에 다음과 같은 테스트 케이스에서는 필요한 경비원의 수가 0이 나왔다. 

 

3 5
XX...
.X...
...XX

 

하지만 문제의 조건에서 모든 행과 모든 열에 경비원을 배치해야 된다는 조건이 있었고, 이 부분을 해결하기 위해 chk라는 1차원 배열을 이용했다.

결과는 가로 행에 필요한 경비원의 수와 세로 열에 필요한 경비원의 수중에서 최댓값을 출력하면 된다.

 

Idea:

 입력값으로 주어진 성의 상태를 2차원 배열로 생각하기보다 1차원 배열로 간단하게 생각해보면 쉽게 해결할 수 있다.

'알고리즘 문제 풀이: 파이썬 > BOJ' 카테고리의 다른 글

[BOJ_11723] 집합  (0) 2021.11.02
[BOJ_8892] 팰린드롬  (0) 2021.10.27
[BOJ_4358] 생태학  (0) 2021.10.23
[BOJ_1568] 새  (0) 2021.10.23
[BOJ_1543] 문서 검색  (0) 2021.10.23

댓글