๋ด‰์šฐ๋ฆฌ

๐Ÿ“„ ๋ฌธ์ œ

์ง€๋„ ์ •๋ณด๊ฐ€ 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)

+ Recent posts