๋ด์ฐ๋ฆฌ
๐ ๋ฌธ์
์ง๋ ์ ๋ณด๊ฐ N*N ๊ฒฉ์ํ์ ์ฃผ์ด์ง๋๋ค.
๊ฐ ๊ฒฉ์์๋ ๊ทธ ์ง์ญ์ ๋์ด๊ฐ ์ฐ์ฌ์์ต๋๋ค.
๊ฐ ๊ฒฉ์ ํ์ ์ซ์ ์ค ์์ ์ ์ํ์ข์ฐ ์ซ์๋ณด๋ค ํฐ ์ซ์๋ ๋ด์ฐ๋ฆฌ ์ง์ญ์ ๋๋ค.
๋ด์ฐ๋ฆฌ ์ง์ญ์ด ๋ช ๊ฐ ์๋ ์ง ์์๋ด๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์ธ์.
๊ฒฉ์์ ๊ฐ์ฅ์๋ฆฌ๋ 0์ผ๋ก ์ด๊ธฐํ ๋์๋ค๊ณ ๊ฐ์ ํฉ๋๋ค.
๋ง์ฝ N=5 ์ด๊ณ , ๊ฒฉ์ํ์ ์ซ์๊ฐ ๋ค์๊ณผ ๊ฐ๋ค๋ฉด ๋ด์ฐ๋ฆฌ์ ๊ฐ์๋ 10๊ฐ์ ๋๋ค.โฃ ์ ๋ ฅ์ค๋ช
์ฒซ ์ค์ ์์ฐ์ N์ด ์ฃผ์ด์ง๋ค.(1<=N<=50)
๋ ๋ฒ์งธ ์ค๋ถํฐ N์ค์ ๊ฑธ์ณ ๊ฐ ์ค์ N๊ฐ์ ์์ฐ์๊ฐ ์ฃผ์ด์ง๋ค.
๊ฐ ์์ฐ์๋ 100์ ๋์ง ์๋ ๋ค.
โฃ ์ถ๋ ฅ์ค๋ช
๋ด์ฐ๋ฆฌ์ ๊ฐ์๋ฅผ ์ถ๋ ฅํ์ธ์.
โฃ ์ ๋ ฅ์์
5
5 3 7 2 3
3 7 1 6 1
7 2 5 3 4
4 3 6 4 1
8 7 3 5 2
โฃ ์ถ๋ ฅ์์
10
๐ง ํ์ด
ํ์ด
n = int(input()) # ์ ์ n ์
๋ ฅ ๋ฐ ํ ๋น
a = [list(map(int, input().split())) for _ in range(n)] # ๊ฐ๋ค ์
๋ ฅ ๋ฐ์ ๋ฐฐ์ด ํ ๋น
a.insert(0, [0] * (n + 2)) # ๋งจ ์ ์ค์ 0์ผ๋ก ๋ ํ ๋ฃ๊ธฐ
a.append([0] * (n + 2)) # ๋งจ ์๋ซ ์ค์๋ 0์ผ๋ก ๋ ํ ๋ฃ๊ธฐ
for i in range(1, n+1): # 1๋ถํฐ n๊น์ง ๋ฐ๋ณต
a[i].insert(0, 0) # ๊ฐ ํ ์ฒซ ๋ถ๋ถ์ 0 ์ถ๊ฐ
a[i].append(0) # ๊ฐ ํ ๋ ๋ถ๋ถ์ 0 ์ถ๊ฐ
cnt = 0 # ๋ด์ฐ๋ฆฌ ๊ฐฏ์ ์ธ๊ธฐ ์ํ cnt ํ ๋น
for j in range(1, n+1): # 1๋ถํฐ n๊น์ง ๋ฐ๋ณต
for k in range(1, n+1): # ์ด์ค๋ฐ๋ณต๋ฌธ
p = a[j][k] # ๋ด์ฐ๋ฆฌ ๊ฒ์ฌ๋ฅผ ์ํ p ํ ๋น
if p > a[j][k+1] and p > a[j][k-1] and p > a[j+1][k] and p > a[j-1][k]: # p๋ฅผ ์ํ์ข์ฐ๋ ๋น๊ตํ์ ๋ ๋ชจ๋ ํฐ ๊ฐ์ด๋ฉด
cnt += 1 # cnt๋ฅผ 1๋งํผ ์ฆ๊ฐ
print(cnt) # ๊ณ์ฐ์ ํตํด ์ป์ ๋ด์ฐ๋ฆฌ ๊ฐฏ์ ์ถ๋ ฅ
๋ค๋ฅธ ์ฌ๋ ํ์ด
dx = [-1, 0, 1, 0]
dy = [0, 1, 0, -1]
n = int(input())
a = [list(map(int, input().split())) for _ in range(n)]
a.insert(0, 0 * n)
a.append([0] * n)
for x in a:
x.insert(0, 0)
x.append(0)
cnt = 0
for i in range(1, n+1):
for j in range(1, n+1):
if all(a[i][j] > a[i+dx[k]][j+dy[k]] for k in range(4)):
cnt += 1
print(cnt)
'๐งฉ Algorithm > ๐จ Python' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ํ์ด์ฌ ์๊ณ ๋ฆฌ์ฆ] ๊ฒฉ์ํ ํ๋ฌธ์ (0) | 2022.07.26 |
---|---|
[ํ์ด์ฌ ์๊ณ ๋ฆฌ์ฆ] ์คํ ์ฟ ๊ฒ์ฌ (0) | 2022.07.26 |
[ํ์ด์ฌ ์๊ณ ๋ฆฌ์ฆ] ๊ณณ๊ฐ(๋ชจ๋์๊ณ) (0) | 2022.07.26 |
[ํ์ด์ฌ ์๊ณ ๋ฆฌ์ฆ] ์ฌ๊ณผ๋๋ฌด(๋ค์ด์๋ชฌ๋) (0) | 2022.07.26 |
[ํ์ด์ฌ ์๊ณ ๋ฆฌ์ฆ] ๊ฒฉ์ํ ์ต๋ํฉ (0) | 2022.07.25 |