-
[๋ฐฑ์ค] 1236 ์ฑ ์งํค๊ธฐ with PythonPS 2022. 2. 10. 17:54728x90๋ฐ์ํ
๐ BOJ 1236 ์ฑ ์งํค๊ธฐ
๐ก ์กฐ๊ฑด
์ง์ฌ๊ฐํ ๋ชจ์์ ์ฑ์ ๊ฐ์ง๊ณ ์๋ค. ์ฑ์ 1์ธต์ ๋ช ๋ช ์ ๊ฒฝ๋น์์ ์ํด์ ๋ณดํธ๋๊ณ ์๋ค.
์์์ด๋ ๋ชจ๋ ํ๊ณผ ๋ชจ๋ ์ด์ ํ ๋ช ์ด์์ ๊ฒฝ๋น์์ด ์์ผ๋ฉด ์ข๊ฒ ๋ค๊ณ ์๊ฐํ๋ค.์ฑ์ ํฌ๊ธฐ์ ๊ฒฝ๋น์์ด ์ด๋์๋์ง ์ฃผ์ด์ก์ ๋, ๋ช ๋ช ์ ๊ฒฝ๋น์์ ์ต์๋ก ์ถ๊ฐํด์ผ ์์์ด๋ฅผ ๋ง์กฑ์ํค๋์ง ๊ตฌํ๋ ๋ฌธ์
0 <= N, M <= 50
์ฑ์ ์ํ๋ .์ ๋น์นธ, X๋ ๊ฒฝ๋น์์ด ์๋ ์นธ์ด๋ค.
๊ตฌํ, ์๋ฎฌ๋ ์ด์ ์ ํ์ ๋ฌธ์
๐ฅ ์์ค ์ฝ๋
from sys import stdin n, m = map(int, stdin.readline().split()) arr = [] col = [False] * m row = [False] * n r1, r2 = 0, 0 for i in range(n): data = list(stdin.readline().rstrip()) arr.append(data) for i in range(n): for j in range(m): if arr[i][j] == 'X': row[i] = True col[j] = True for i in range(n): if not row[i]: r1 += 1 for j in range(m): if not col[j]: r2 += 1 print(max(r1, r2))
๐ ์์ ๋ฐ ์คํ๊ฒฐ๊ณผ
์์
4 4 .... .... .... ....
์คํ๊ฒฐ๊ณผ
4
โจ๏ธ ๋ฌธ์ ํ์ด
๊ฐ ์ด๊ณผ ํ์ ๋ชจ๋ ๊ฒฝ๋น์์ด ์์์ผ๋ฉด ์ข๊ฒ ๋ค๊ณ ์๊ฐ์ ํ์ผ๋, ์ด๊ณผ ํ์ ๊ฒฝ๋น์์ด ์๋์ง ์ฒดํฌํ col, row ๋ฆฌ์คํธ๋ฅผ ์์ฑํ๋ค.
์ด ๋ฆฌ์คํธ๋ ๊ฐ ์์๋ฅผ False ๋ก ์ด๊ธฐํ ํ ์ํ๋ก ์์ฑํ๋ค.๊ฒฝ๋น์์ ๊ฐ์ ์ ์ฅํ r1, r2 ๋ณ์๋ฅผ ์์ฑํ๋ค.
์ฑ์ ํฌ๊ธฐ๋งํผ ์ํํ๋ฉด์ (i, j) ์ X ๊ฐ ์์ ๊ฒฝ์ฐ, row[i], col[j] ๋ฅผ ๊ฐ๊ฐ True๋ก ๊ฐฑ์ ํ๋ค.
๊ฐ ์ฑ์ ๊ฐ๋ก ํฌ๊ธฐ(i -> n), ์ธ๋ก ํฌ๊ธฐ(j -> m)๋งํผ ์ํํ๋ฉด์ row[i], col[j] ๊ฐ ๊ฐ๊ฐ False ์ผ ๊ฒฝ์ฐ
r1, r2 ์ ๊ฐ๊ฐ + 1์ ๋ํด์ค๋ค.r1, r2 ์ค ๊ฐ์ฅ ํฐ ๊ฐ์ ์ถ๋ ฅํ๋ค.
๐พ ๋๋์
- ๊ตฌํ ๋ฌธ์ ์ด์ง๋ง, ์ด๋์ ๊ฒฝ๋น์์ด ์์ด์ผ ๊ฐ ์ด๊ณผ ํ์ด ๋ชจ๋ True ๊ฐ์ ๊ฐ์ง๋์ง ์๊ฐํ๋ ๊ฒ์ด ํท๊ฐ๋ ธ๋ค.
- ๋ธ๋ก ์ฆ๋ผ๊ณ ํ์ง๋ง, ๊ตฌํ์ ์ญ์ ๊ทธ ์ด์์ ํฐ์ด๋ก ๋ด์ผํ๋ ๊ฒ ๊ฐ๋ค.
- ๋ ผ๋ฆฌ์ ์ธ ์ฌ๊ณ ๋ ฅ์ด ์ฝํ๋ค๋ ๊ฒ์ ๋ค์ ํ ๋ฒ ๋๋ผ๊ฒ ํด์ฃผ๋ ๋ฌธ์ ์๋ค.
๋ฐ์ํ'PS' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋ฐฑ์ค] 2422 ํ์ค์ ์ด ์ดํ๋ฆฌ์์ ๊ฐ์ ์์ด์คํฌ๋ฆผ์ ์ฌ๋จน๋๋ฐ with Python (0) 2022.02.13 [๋ฐฑ์ค] 1759 ์ํธ ๋ง๋ค๊ธฐ with Python (0) 2022.02.13 [๋ฐฑ์ค] 14248 ์ ํ ์ ํ with Python (0) 2022.02.10 [๋ฐฑ์ค] 11655 ROT13 with Python (0) 2022.02.10 [๋ฐฑ์ค] 6603 ๋ก๋ with Python (0) 2022.02.10