μΉ΄ν…Œκ³ λ¦¬ μ—†μŒ

[λ°±μ€€] 3085번: 사탕 κ²Œμž„

πŸ“ƒ λ¬Έμ œ

μƒκ·Όμ΄λŠ” 어렸을 적에 "λ΄„λ³΄λ‹ˆ (Bomboni)" κ²Œμž„μ„ μ¦κ²¨ν–ˆλ‹€.

κ°€μž₯ μ²˜μŒμ— N×N크기에 사탕을 μ±„μ›Œ λ†“λŠ”λ‹€. μ‚¬νƒ•μ˜ 색은 λͺ¨λ‘ κ°™μ§€ μ•Šμ„ μˆ˜λ„ μžˆλ‹€. μƒκ·Όμ΄λŠ” μ‚¬νƒ•μ˜ 색이 λ‹€λ₯Έ μΈμ ‘ν•œ 두 칸을 κ³ λ₯Έλ‹€. κ·Έ λ‹€μŒ κ³ λ₯Έ 칸에 λ“€μ–΄μžˆλŠ” 사탕을 μ„œλ‘œ κ΅ν™˜ν•œλ‹€. μ΄μ œ, λͺ¨λ‘ 같은 μƒ‰μœΌλ‘œ 이루어져 μžˆλŠ” κ°€μž₯ κΈ΄ 연속 λΆ€λΆ„(ν–‰ λ˜λŠ” μ—΄)을 κ³ λ₯Έ λ‹€μŒ κ·Έ 사탕을 λͺ¨λ‘ λ¨ΉλŠ”λ‹€.

사탕이 μ±„μ›Œμ§„ μƒνƒœκ°€ μ£Όμ–΄μ‘Œμ„ λ•Œ, 상근이가 먹을 수 μžˆλŠ” μ‚¬νƒ•μ˜ μ΅œλŒ€ 개수λ₯Ό κ΅¬ν•˜λŠ” ν”„λ‘œκ·Έλž¨μ„ μž‘μ„±ν•˜μ‹œμ˜€.

 

μž…λ ₯

첫째 쀄에 λ³΄λ“œμ˜ 크기 N이 μ£Όμ–΄μ§„λ‹€. (3 ≤ N ≤ 50)

λ‹€μŒ N개 μ€„μ—λŠ” λ³΄λ“œμ— μ±„μ›Œμ Έ μžˆλŠ” μ‚¬νƒ•μ˜ 색상이 μ£Όμ–΄μ§„λ‹€. 빨간색은 C, νŒŒλž€μƒ‰μ€ P, μ΄ˆλ‘μƒ‰μ€ Z, λ…Έλž€μƒ‰μ€ Y둜 μ£Όμ–΄μ§„λ‹€.

μ‚¬νƒ•μ˜ 색이 λ‹€λ₯Έ μΈμ ‘ν•œ 두 칸이 μ‘΄μž¬ν•˜λŠ” μž…λ ₯만 μ£Όμ–΄μ§„λ‹€.

 

좜λ ₯

첫째 쀄에 상근이가 먹을 수 μžˆλŠ” μ‚¬νƒ•μ˜ μ΅œλŒ€ 개수λ₯Ό 좜λ ₯ν•œλ‹€.


✍ ν’€μ΄κ³Όμ •

μ–΄λ ΅λ”°...

μš°μ„  μ—°μ†λ˜λŠ” μ‚¬νƒ•μ˜ 수λ₯Ό κ΅¬ν•˜λŠ” ν•¨μˆ˜λ₯Ό μž‘μ„±ν–ˆλ‹€.

def count(board, n):
    # ν–‰
    for i in range(n):
        cnt=1
        for j in range(1, n):
            if board[i][j-1]==board[i][j]:
                cnt+=1
            else:
                cnt = 1
    # μ—΄
    for i in range(n):
        cnt=1
        for j in range(1, n):
            if board[j-1][i]==board[j][i]:
                cnt+=1
            else:
                cnt = 1

n=int(input())

board =[list(input()) for _ in range(n)]

λͺ¨λ“  경우의 μ„œλ‘œ λ‹€λ₯Έ μƒ‰μ˜ μΈμ ‘ν•œ 두 칸을 확인해봐야할지

μ΅œλŒ€κ°€ λ°œμƒν•  수 μžˆλŠ” μœ„μΉ˜λ₯Ό μ°Ύμ•„ 주변을 탐색해봐야할지...?