hugDog
Android DevLog
hugDog
์ „์ฒด ๋ฐฉ๋ฌธ์ž
์˜ค๋Š˜
์–ด์ œ
  • ๐Ÿ™Œ Hello? (162)
    • ๐Ÿงฉ์•ˆ๋“œ๋กœ์ด๋“œ (12)
      • ๊ฐœ๋… ์ •๋ฆฌ (5)
      • ๋ฒ„๊ทธ ํ•ด๊ฒฐ (4)
      • ๊ธฐํƒ€ (3)
    • ๐Ÿ”์•Œ๊ณ ๋ฆฌ์ฆ˜ (54)
      • ๊ฐœ๋… (0)
      • ๋ฐฑ์ค€ (48)
      • ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค (6)
    • ๐Ÿ“„๊ฐœ๋ฐœ ์ผ์ง€ (0)
      • FINPO (0)
    • ๐Ÿ”คํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด (71)
      • C++ ์ •๋ฆฌ (49)
      • C++๊ธฐ์ดˆํ”Œ๋Ÿฌ์Šค ์—ฐ์Šต๋ฌธ์ œ (20)
      • Kotlin (2)
    • โญProject (1)
    • ๐ŸšดTIL (13)
      • Clean Code (13)
    • ๐Ÿšฉ๊ธฐํƒ€ (9)
      • ๋ชฉํ‘œ (6)
      • ์ผ์ƒ (3)
      • ๋ฌธ์„œ (0)

์ธ๊ธฐ ๊ธ€

์ตœ๊ทผ ๋Œ“๊ธ€

์ตœ๊ทผ ๊ธ€

ํ‹ฐ์Šคํ† ๋ฆฌ

hELLO ยท Designed By ์ •์ƒ์šฐ.
hugDog

Android DevLog

[Python/ํŒŒ์ด์ฌ] ๋ฐฑ์ค€ 1987๋ฒˆ: ์•ŒํŒŒ๋ฒณ
๐Ÿ”์•Œ๊ณ ๋ฆฌ์ฆ˜/๋ฐฑ์ค€

[Python/ํŒŒ์ด์ฌ] ๋ฐฑ์ค€ 1987๋ฒˆ: ์•ŒํŒŒ๋ฒณ

2022. 1. 13. 15:20
728x90

๋ฌธ์ œ

 

ํ’€์ด

dfs + ๋ฐฑํŠธ๋ž˜ํ‚น์œผ๋กœ ํ’€์—ˆ๋‹ค.

pypy๋กœ ์ œ์ถœ

์ค‘๋ณต๋œ ๋ฌธ์ž๋ฅผ ์ฒดํฌํ•˜๊ธฐ ์œ„ํ•ด alpha ๋ฐฐ์—ด ์ƒ์„ฑ (alpha[0] = True์ธ ๊ฒฝ์šฐ A์นธ์„ ์ง€๋‚ฌ๋‹ค๋Š” ์˜๋ฏธ)

alpha = [False] * 26

ord('A') - 65 ์ด๋Ÿฐ ์‹์œผ๋กœ ์ธ๋ฑ์Šค๋ฅผ ๋งž์ถฐ์ฃผ์—ˆ๋‹ค.

๊ทธ ํ›„ ๋ฐฑํŠธ๋ž˜ํ‚น์„ ํ–ˆ๋‹ค.

 

์ฝ”๋“œ

import sys
input = sys.stdin.readline

r, c = map(int, input().split())
graph = [list(input().rstrip()) for _ in range(r)]
alpha = [False] * 26
dir = ((0, 1), (0, -1), (1, 0), (-1, 0))
ans = 0

def condition(ni, nj):
    return ni < 0 or ni >= r or nj < 0 or nj >= c or alpha[ord(graph[ni][nj]) - 65]

def dfs(i, j, cnt):
    global ans
    ans = max(ans, cnt)
    
    for dx, dy in dir:
        ni, nj = i + dy, j + dx
        if condition(ni, nj):   continue
        alpha[ord(graph[ni][nj]) - 65] = True
        dfs(ni, nj, cnt + 1)
        alpha[ord(graph[ni][nj]) - 65] = False

alpha[ord(graph[0][0]) - 65] = True
dfs(0, 0, 1)
print(ans)

 

๋งˆ๋ฌด๋ฆฌ

์žฌ๊ท€๋Š” ๋„ˆ๋ฌด ์–ด๋ ต๋‹ค...

 

728x90
์ €์ž‘์žํ‘œ์‹œ ๋น„์˜๋ฆฌ (์ƒˆ์ฐฝ์—ด๋ฆผ)
    '๐Ÿ”์•Œ๊ณ ๋ฆฌ์ฆ˜/๋ฐฑ์ค€' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
    • [Python/ํŒŒ์ด์ฌ] ๋ฐฑ์ค€ 9466๋ฒˆ: ํ…€ ํ”„๋กœ์ ํŠธ
    • [Python/ํŒŒ์ด์ฌ] ๋ฐฑ์ค€ 16929๋ฒˆ: Tow Dots
    • [Python/ํŒŒ์ด์ฌ] ๋ฐฑ์ค€ 1068๋ฒˆ: ํŠธ๋ฆฌ
    • [Python/ํŒŒ์ด์ฌ] ๋ฐฑ์ค€ 1194๋ฒˆ: ๋‹ฌ์ด ์ฐจ์˜ค๋ฅธ๋‹ค, ๊ฐ€์ž
    hugDog
    hugDog
    ์•ˆ๋“œ๋กœ์ด๋“œ ๊ณต๋ถ€ ์ค‘์ธ ํ•™์ƒ์ž…๋‹ˆ๋‹ค!

    ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”