백준 1388 - 파이썬

손찬호·2024년 4월 4일
0

알고리즘

목록 보기
8/91

https://www.acmicpc.net/problem/1388

해결 아이디어


입력
첫째 줄에 방 바닥의 세로 크기N과 가로 크기 M이 주어진다. 둘째 줄부터 N개의 줄에 M개의 문자가 주어진다. 이것은 바닥 장식 모양이고, '-‘와 ’|‘로만 이루어져 있다. N과 M은 50 이하인 자연수이다.

=> 시간제한이 2초이고 최대 50*50인 데이터를 처리하면 되기 때문에
완전 탐색으로 풀 수 있다고 판단했다.

풀이 코드

import sys
input = sys.stdin.readline
n,m = map(int,input().split())
graph = []

# 1. 입력받기
for _ in range(n):
    graph.append(list(input().strip()))
total_block = 0

# 행 카운트하기
# '-'모양이면 카운트하다가 '|'만나면 카운트 중지
for i in range(n):
    block = ''
    for j in range(m):
        if graph[i][j] == '-':
            if graph[i][j] != block:
                total_block += 1
        block = graph[i][j]

# 열 카운트하기
# '|'모양이면 카운트하다가 '-'만나면 카운트 중지
for j in range(m):
    block = ''
    for i in range(n):
        if graph[i][j] == '|':
            if graph[i][j] != block:
                total_block += 1
        block = graph[i][j]
        
# 총 블록 수 출력        
print(total_block)
profile
매일 1%씩 성장하려는 주니어 개발자입니다.

0개의 댓글

관련 채용 정보