ํ’€์ด


5x5 ๋น™๊ณ ํŒ์—์„œ 3๊ฐœ ์ด์ƒ์˜ ๋น™๊ณ ๊ฐ€ ๋‚˜์™”์„๋•Œ์˜ ์ˆœ์„œ๋ฅผ ์ถœ๋ ฅํ•˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์ž‘์„ฑํ•ด์•ผํ•œ๋‹ค.

์ฃผ์–ด์ง„ ์ž…๋ ฅ๊ฐ’์„ ํ†ตํ•ด ๋น™๊ณ ํŒ๊ณผ ์‚ฌํšŒ์ž๊ฐ€ ์ˆœ์„œ๋Œ€๋กœ ๋ถ€๋ฅผ ์ˆซ์ž๋ฅผ ๋ฆฌ์ŠคํŠธ์— ์ €์žฅํ•œ๋‹ค.

๋น™๊ณ ์˜ ๊ทœ์น™๋Œ€๋กœ ์„ธ๋กœ, ๊ฐ€๋กœ, ๋Œ€๊ฐ์„ ์˜ ๋น™๊ณ ์—ฌ๋ถ€ ํŒ๋‹จ์„ ์œ„ํ•œ ํ•จ์ˆ˜๊ฐ€ ํ•„์š”ํ•˜๋‹ค.

์ด 4๊ฐ€์ง€์˜ ํ•จ์ˆ˜๋กœ ๋น™๊ณ ์—ฌ๋ถ€ ํŒ๋‹จ ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ–ˆ๊ณ  ์‚ฌํšŒ์ž๊ฐ€ ์ˆซ์ž๋ฅผ ํ•œ ๋ฒˆ ๋ถ€๋ฅผ ๋•Œ ๋งˆ๋‹ค ์ด ๊ธฐ๋Šฅ์„ ํ†ตํ•ด 3๊ฐœ ์ด์ƒ์˜ ๋น™๊ณ ๊ฐ€ ๋‚˜์™”๋Š”์ง€ ํ™•์ธํ•ด์ฃผ๋ฉด์„œ 3๊ฐœ ์ด์ƒ์˜ ๋น™๊ณ ๊ฐ€ ๋‚˜์˜ฌ ๊ฒฝ์šฐ ๋ช‡ ๋ฒˆ์งธ ์ˆซ์ž์ธ์ง€ ์ถœ๋ ฅํ•œ ๋’ค ๋ฐ˜๋ณต๋ฌธ์„ ํƒˆ์ถœํ•˜๋ฉด๋œ๋‹ค.

์•„๋ž˜ ์ฃผ์„์ฒ˜๋ฆฌ๋œ ์ฝ”๋“œ๋ฅผ ํ†ตํ•ด ์‚ฌํšŒ์ž์˜ ์ˆซ์ž๊ฐ€ ๋‚˜์˜ฌ ๋•Œ ๋งˆ๋‹ค์˜ ๋น™๊ณ ํŒ ํ˜„ํ™ฉ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

์†Œ์Šค์ฝ”๋“œ


import sys
input = sys.stdin.readline
 
def hor_cnt(bingo):
    bng_cnt = 0
    for b in bingo:
        bng = 0
        for i in b:
            if i.isdigit():
                bng = 0
                break
            else:
                bng += 1
        if bng != 0:
            bng_cnt += 1
    return bng_cnt
 
def ver_cnt(bingo):
    bng_cnt = 0
    for j in range(5):
        bng = 0
        for i in range(5):
            if bingo[i][j].isdigit():
                bng = 0
                break
            else:
                bng += 1
        if bng != 0:
            bng_cnt += 1
    return bng_cnt
 
def r_cnt(bingo):
    bng_cnt = 0
    r = [bingo[4][0], bingo[3][1], bingo[2][2], bingo[1][3], bingo[0][4]]
    for i in r:
        bng = 0
        if i.isdigit():
            bng = 0
            break
        else:
            bng += 1
    if bng != 0:
        bng_cnt += 1
    return bng_cnt
 
def l_cnt(bingo):
    bng_cnt = 0
    l = [bingo[0][0], bingo[1][1], bingo[2][2], bingo[3][3], bingo[4][4]]
    for i in l:
        bng = 0
        if i.isdigit():
            bng = 0
            break
        else:
            bng += 1
    if bng != 0:
        bng_cnt += 1
    return bng_cnt
 
bingo = [input().rstrip().split() for _ in range(5)]
nums = []
 
for _ in range(5):
    for i in input().rstrip().split():
        nums.append(i)
 
for n in range(25):
    for i in range(5):
        for j in range(5):
            if bingo[i][j] == nums[n]:
                bingo[i][j] = "O"
                break
    # for b in bingo:
    #     print(b)
    # print(n, "---------------", hor_cnt(bingo), ver_cnt(bingo), r_cnt(bingo), l_cnt(bingo))
    ttl = hor_cnt(bingo) + ver_cnt(bingo) + r_cnt(bingo) + l_cnt(bingo)
    if ttl >= 3:
        print(n+1)
        break

References