๐ก ์กฐ๊ฑด
- ์ด๋ค ์ฌ๋ A๊ฐ ๋๋ค๋ฅธ ์ฌ๋ B์ 2-์น๊ตฌ๊ฐ ๋๊ธฐ ์ํด์ , ๋ ์ฌ๋์ด ์น๊ตฌ์ด๊ฑฐ๋, A์ ์น๊ตฌ์ด๊ณ , B์ ์น๊ตฌ์ธ C๊ฐ ์กด์ฌํด์ผ ๋๋ค.
- ์ฌ๊ธฐ์ ๊ฐ์ฅ ์ ๋ช
ํ ์ฌ๋์ 2-์น๊ตฌ์ ์๊ฐ ๊ฐ์ฅ ๋ง์ ์ฌ๋์ด๋ค. ๊ฐ์ฅ ์ ๋ช
ํ ์ฌ๋์ 2-์น๊ตฌ์ ์๋ฅผ ์ถ๋ ฅํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค.
- A์ B๊ฐ ์น๊ตฌ๋ฉด, B์ A๋ ์น๊ตฌ์ด๊ณ , A์ A๋ ์น๊ตฌ๊ฐ ์๋๋ค.
- ์ฌ๋์ ์ N์ด ์ฃผ์ด์ง๋ค. N์ 50๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ ์์ฐ์์ด๋ค.
๋์งธ ์ค๋ถํฐ N๊ฐ์ ์ค์ ๊ฐ ์ฌ๋์ด ์น๊ตฌ์ด๋ฉด Y, ์๋๋ฉด N์ด ์ฃผ์ด์ง๋ค.
๊ฐ์ฅ ์ ๋ช
ํ ์ฌ๋์ 2-์น๊ตฌ์ ์๋ฅผ ์ถ๋ ฅํ๋ค.
- ํ๋ก์ด๋-์์ฌ ์๊ณ ๋ฆฌ์ฆ ์ ํ์ ๋ฌธ์
๐ฅ ์์ค ์ฝ๋
from sys import stdin
n = int(stdin.readline())
arr = []
for i in range(n):
temp = stdin.readline().rstrip().replace("N", '0').replace("Y", '1')
data = list(map(int, list(temp)))
arr.append(data)
res = [0] * n
test = [item[:] for item in arr]
for k in range(n):
for i in range(n):
for j in range(n):
if i != j:
if arr[i][k] and arr[k][j]:
test[i][j] = 1
res = 0
for i in range(n):
friends = sum(test[i])
if res < friends:
res = friends
print(res)
๐ ์์ ๋ฐ ์คํ๊ฒฐ๊ณผ
์์
10
NNNNYNNNNN
NNNNYNYYNN
NNNYYYNNNN
NNYNNNNNNN
YYYNNNNNNY
NNYNNNNNYN
NYNNNNNYNN
NYNNNNYNNN
NNNNNYNNNN
NNNNYNNNNN
์คํ๊ฒฐ๊ณผ
8
โจ๏ธ ๋ฌธ์ ํ์ด
- ํ๋ก์ด๋-์์ฌ ์๊ณ ๋ฆฌ์ฆ ์๊ณ ๋ฆฌ์ฆ์ ์ฌ์ฉํ์ฌ ๋ฌธ์ ๋ฅผ ํ์ดํ๋ค.
- Y๋ฅผ 1๋ก, N์ 0์ผ๋ก ๋ณํํ ๋ค, arr์ ์
๋ ฅ๋ฐ์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ค.
- test ๋ฐฐ์ด์ arr๋ฐฐ์ด์ ๋ณต์ฌํ ๋ค, ํ๋ก์ด๋-์์ฌ ์๊ณ ๋ฆฌ์ฆ์ ๋๋ฆฌ๊ธฐ ์ํ 3์ค ๋ฐ๋ณต๋ฌธ์ ์ํํ๋ค.
- arr[i][k] ์ arr[k][j] ๊ฐ 1์ด๋ผ๋ฉด, test[i][j]์ 1์ ์ ์ฅํ๋ค.
i์ j ๊ฐ ํ๋ค๋ฆฌ ๊ฑด๋์ ์น๊ตฌ์ธ์ง ํ์ธํ๋ ๊ตฌ๊ฐ์ด๋ค.
- test ๋ฐฐ์ด์ ์ํํ๋ฉด์ test[i]์ ํฉ์ด ์ต๋๊ฐ์ธ ๊ฒ์ ์ฐพ์์ ๊ฒฐ๊ณผ๊ฐ์ ์ ์ฅํ res ๋ณ์์ ์ ์ฅํ๊ณ , ์ถ๋ ฅํ๋ค.
๐พ ๋๋์
- ํ๋ก์ด๋-์์ฌ ์๊ณ ๋ฆฌ์ฆ์ ์์ฉ๋ฌธ์ ์๋ค.
- ๋ชจ๋ ๋
ธ๋์์์ ์ต๋จ๊ฑฐ๋ฆฌ๋ฅผ ์ฐพ๋ ๋ฐฉ์์ด ์๋,
๋ชจ๋ ๋
ธ๋์์ ์น๊ตฌ๊ฐ ๋ ์ ์๋ ๊ฒฝ์ฐ๋ฅผ ์ฐพ์ test ๋ฐฐ์ด์ ์ ์ฅํ๋ ๋ฐฉ์์ผ๋ก ํ์ดํ๋ค.