728x90
정말 안 떠올라서 마지막에 겨우겨우 붙잡고 풀었네요 ....
문제는, 주어진 문자열의 부분문자열에 대해서 같은 알파벳이 연달아 두번 나오는 횟수는 몇번인가? 라는 문제입니다.
누적합에 대한 내용이 되겠습니다.
import sys
input = sys.stdin.readline
N,Q = map(int,input().split())
S = input().rstrip()
result = [0]
cnt = 0
for i in range (1,len(S)):
if S[i] == S[i-1]:
cnt += 1
result.append(cnt)
else:
result.append(cnt)
for i in range (0,Q):
l,r = map(int,input().split())
print(result[r-1] - result[l-1])
생각보다 되게 단순한거였는데 너무 복잡하게 생각해버려서 아쉬웠네요.
'코딩' 카테고리의 다른 글
[Atcoder] ABC 329 D - Take Election Quick Report (1) | 2023.11.20 |
---|---|
[Atcoder] ABC 327 D - Take ABC (1) | 2023.11.16 |
[Programmers] 구명보트 (0) | 2023.11.08 |
[BOJ] 1932 정수삼각형 Python (1) | 2023.11.03 |
[Atcoder] ABC 326 C - Peak (1) | 2023.10.29 |