Baekjoon Online Judge

28307 Trianglane

sejongmin 2024. 11. 27. 19:55

문제

입력

출력

 

풀이

2줄로 입력되는 삼각형 타일의 테이프를 붙이는데 인접한 삼각형에는 테이프가 붙지 않는다. 홀수 번째 타일은 상, 하, 좌, 우로 인접할 수 있고, 짝수 번째 타일은 좌, 우로 인접할 수 있다. 홀수 번째, 짝수 번째 타일을 순회하면서 테이프 3미터를 더하고 인접한 변만큼 1미터씩 빼주면 된다.

def solution(C, trianglane):
    answer = 0
    for i in range(2):
        for j in range(0, C, 2):
            if trianglane[i][j]:
                answer += 3
                if trianglane[(i + 1) % 2][j]:
                    answer -= 1
                if j < C - 1 and trianglane[i][j + 1]:
                    answer -= 1
                if j > 0 and trianglane[i][j - 1]:
                    answer -= 1
    
    for i in range(2):
        for j in range(1, C, 2):
            if trianglane[i][j]:
                answer += 3
                if j < C - 1 and trianglane[i][j + 1]:
                    answer -= 1
                if j > 0 and trianglane[i][j - 1]:
                    answer -= 1
    
    print(answer)