ALGORITHM/PYTHON

백준 BAEKJOON 30454번 얼룩말을 찾아라! [PYTHON/파이썬]

칼코
반응형

 

 

 

 

 

백준 BAEKJOON 30454번 얼룩말을 찾아라! [PYTHON/파이썬]


<문제 출처> (BRONZE Ⅲ)

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

 

30454번: 얼룩말을 찾아라!

첫째 줄에 얼룩말의 개체수 $N$, 얼룩말의 몸통 길이를 나타내는 정수 $L$이 공백으로 구분되어 주어진다. $\left( 1\leq N,L\leq 1\, 000 \right)$ 이어지는 $N$개의 줄에 건덕이가 기록한 길이 $L$의 얼룩말

www.acmicpc.net

 

 

 

 

 

 

 

<풀이>

쉽게 담기 위해 주어진 얼룩말 줄무늬 마지막에 숫자 "0"을 추가해서 풀었다.

그리고 for 문을 순회하면서 검은 줄이 있는 부분만 리스트에 담았다.

max와 count를 적절하게 사용하여 검은 줄의 개수와 그런 얼룩말의 개채수를 출력하였다.

 

 

 

 

 

 

 

<코드>

N, L = map(int, input().split())
result = []

for _ in range(N):
    zebra = input() + "0"	# 쉽게 풀기 위한 "0" 추가
    tmp1 = []
    tmp2 = ""
    for i in range(L + 1):
        if zebra[i] == "1":	# 털이 검정색이면
            tmp2 += "1"
        elif len(tmp2) > 0:		# tmp2가 빈문자열이 아니라면
            tmp1.append(tmp2)	 	# tmp1에 검은 털 무늬 append
            tmp2 = ""			# tmp2는 빈문자열로 초기화

    result.append(len(tmp1))

print(max(result), result.count(max(result)))

 

 

 

 

 

 

 

반응형