https://www.acmicpc.net/problem/1652
โ 1์ฐจ ํ์ด
import sys
input=sys.stdin.readline
n=int(input())
row=0
col=0
rooms=[]
#๊ฐ๋ก ํ์ธ
for i in range(n):
x_list=list(input().rstrip())
rooms.append(x_list)
#col ์ํ
for i in range(n-1):
#2๊ฐ์ด์ ์ฐ์์ธ์ง ํ์ธ
if x_list[i]=='.' and x_list[i+1]=='.':
row+=1
break
#์ธ๋ก ํ์ธ
for i in range(n):
for j in range(n-1):
if rooms[j][i]=='.' and rooms[j+1][i]=='.':
col+=1
break
print(row,col)
๊ฐ ์ธ๋ก, ๊ฐ๋ก์ค์ 2๊ฐ์ด์์ ๋์ธ๊ณณ์ด ์ต๋ 1๊ฐ๋ผ๊ณ ์๊ฐํ๊ธฐ์
์ฐ์2๊ฐ์ . ์ด ๋์จ๋ค๋ฉด ๋ฐ๋ก break๋ก for๋ฌธ์ ์ข ๋ฃํ์๋ค.
๋ฐ๋ก ํ๋ ธ์ต๋๋ค๊ฐ ์ถ๋ ฅ๋๋๊ฒ์ ๋ณด๊ณ
๋ ๋ด๊ฐ ์ฃ์ง์ผ์ด์ค๋ฅผ ๋์ณค๊ตฌ๋ ์ถ์ด์ ๋ค์ ์ดํด๋ณด๋,
์์ ์ ์กด์ฌํ์ง ์์ง๋ง ..x.. ์ด๋ฐ ๊ฒฝ์ฐ์ ์ต๋ 1๊ฐ๊ฐ ์๋, ๋์ธ๊ณณ์ด 2๊ฐ๋ก ๋๊ฒ ๊ตฌ๋ ์ถ์ด์ ์ฝ๋๋ฅผ ๋ณ๊ฒฝํ์๋ค.
โ ์ ๋ต ํ์ด
# X๋ฅผ ๊ธฐ์ค์ผ๋ก ๋์ธ์ ์๋ ์์ญ์ ๋๋๋ค (split) -> 2์ด์์ด๋ฉด ์นด์ดํธ
import sys
input=sys.stdin.readline
n=int(input())
row=0
col=0
rooms=[]
#๊ฐ๋ก
for i in range(n):
x_list=input().rstrip()
rooms.append(list(x_list))
row+=len(list(filter(lambda x:len(x)>=2,x_list.split('X'))))
#์ธ๋ก
for i in range(n):
temp=''
for j in range(n):
temp+=rooms[j][i]
col+=len(list(filter(lambda x:len(x)>=2,temp.split('X'))))
print(row,col)
#31120 44
X(๋ฒฝ)์ ๊ธฐ์ค์ผ๋ก ๋์ธ์๋ฆฌ๋ฅผ ๋๋์ด์ผํ๊ธฐ์ split์ ์ฌ์ฉํด์ฃผ์๊ณ ,
.. = len(2) ์ด์์ ๊ธธ์ด๋ฅผ filter๋ฅผ ์ด์ฉํด ๊ฑธ๋ฌ์ฃผ๊ณ , ๋ฆฌํด๋๋ ๋ฆฌ์คํธ์ ๊ธธ์ด๋ฅผ ๋ํด์ฃผ๋ฉด ๋๋ค.
filter๋์ in ์ฐ์ฐ์๋ฅผ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ๋ ์์๋ค!
โ๏ธ filter๋ ๋ชจ๋ ๋ฆฌ์คํธ๋ฅผ ์ํํ์ง๋ง, in ์ฐ์ฐ์๋ ์ํํ๋ฉด์ true๋ฅผ ๋ฐ๊ฒฌํ๋ฉด ๋ฐ๋ก ๋ฆฌํดํ๊ธฐ ๋๋ฌธ์
์กฐ๊ธ ๋ ์คํ์๊ฐ์ด ์งง์๊ฒ์ ํ์ธํด๋ณผ ์ ์์๋ค.
'๋ฐฑ์ค' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋ฐฑ์ค-Python] ์ค์์น ์ผ๊ณ ๋๊ธฐ : 1244๋ฒ (1) | 2024.06.04 |
---|---|
[๋ฐฑ์ค-Python] ์ฒด์คํ ๋ค์ ์น ํ๊ธฐ : 1018๋ฒ (0) | 2024.06.03 |
[๋ฐฑ์ค-python] ์๊ณ ๋ฆฌ์ฆ์ ์ํ ์๊ฐ 2,4,6๋ฒ (0) | 2024.05.31 |
[๋ฐฑ์ค-Python] ์๋ก ๋ค๋ฅธ ๋ถ๋ถ ๋ฌธ์์ด์ ๊ฐ์ : 11478๋ฒ (0) | 2024.05.30 |
[๋ฐฑ์ค-Python] ๋จ์ด ๊ณต๋ถ : 1157๋ฒ (0) | 2024.05.30 |