백준 2495 - 연속구간 (파이썬)
글 작성자: pental
https://www.acmicpc.net/problem/2495
풀이
이 문제는 0과 1로 이루어진 문자열이 세 줄 주어졌을 때, 각 줄에서 같은 숫자가 연속으로 등장하는 가장 긴 길이를 구하는 문제이다.
예를 들어, “0001000”이라는 문자열에서는 0이 최대 3번 연속으로 등장하므로 정답은 3이 된다.
- 문자열을 앞에서부터 한 글자씩 확인하면서, 이전 문자와 같은지 비교한다.
- 만약 현재 문자가 이전 문자와 같다면, 현재 연속 길이(count)를 1 증가시킨다.
- 반대로 다르다면, 연속이 끊긴 것이므로 count를 1로 초기화한다.
- 매 반복마다 지금까지의 최대 연속 길이(max_count)를 갱신다.
- 문자열을 모두 확인한 후, 해당 줄의 최대 연속 길이를 출력한다.
시간 복잡도 분석
- 각 줄에 대해 한번 씩 문자열을 순회하므로, O(N)
코드
# 백준 2495 - 연속구간
# 분류 : 구현
for _ in range(3) :
S = input()
count = 1
max_count = 1
for i in range(1, len(S)) :
if S[i] == S[i - 1] :
count += 1
else :
count = 1
max_count = max(max_count, count)
print(max_count)
'Programming > 백준' 카테고리의 다른 글
[골드 5] 백준 - 노드사이의 거리 (파이썬) (0) | 2025.04.03 |
---|---|
[실버 4] 백준 1269 - 대칭 차집합 (파이썬) (0) | 2025.04.02 |
백준 2456 - 나는 학급회장이다 (파이썬) (0) | 2025.04.01 |
백준 2491 - 수열 (파이썬) (0) | 2025.03.31 |
백준 2506 - 점수계산 (파이썬) (0) | 2025.03.30 |
댓글
이 글 공유하기
다른 글
-
[골드 5] 백준 - 노드사이의 거리 (파이썬)
[골드 5] 백준 - 노드사이의 거리 (파이썬)
15:39:31 -
[실버 4] 백준 1269 - 대칭 차집합 (파이썬)
[실버 4] 백준 1269 - 대칭 차집합 (파이썬)
2025.04.02 -
백준 2456 - 나는 학급회장이다 (파이썬)
백준 2456 - 나는 학급회장이다 (파이썬)
2025.04.01 -
백준 2491 - 수열 (파이썬)
백준 2491 - 수열 (파이썬)
2025.03.31