1215. [S/W 문제해결 기본] 3일차 - 회문1

기록하는 용도·2022년 5월 22일
0
  1. 8X8 평면을 입력받는다.
  2. 가로부터 따진다.
    가장 바깥에는 8줄이므로 8번돌고
    한줄당 8-제시된 길이+1번씩 돌면서 슬라이싱하면서 string으로 만들어주고
    string이 회문이면 cnt를 올려주도록 한다.
  3. 세로는 가로처럼 슬라이싱 할 수 없기때문에
    중간에 string을 빈 문자열로 만들어놓고
    더해주면서 채워나가도록 했다.
    8번 더해진 string이 회문이면 cnt를 1더한다.
for i in range(10):
    length = int(input())
    board = [list(input()) for _ in range(8)]

    cnt=0
    for a in range(8):
        c=0
        for _ in range(8-length+1):
            string = board[a][c:c+length]
            if string[:] == string[::-1]:
                cnt+=1
            c+=1

    for a in range(8):
        string = ''
        for b in range(8):
            string += board[b][a]
        for c in range(8-length+1):
            strings = string[c:c+length]
            if strings[:] == strings[::-1]:
                cnt+=1

    print("#{} {}".format(i+1,cnt))

0개의 댓글