AGC034B-ABC 해설 [ptyhon]
URL
구속
1<= |s| <= 2*10^{5}
s의 각 문자는 A, B, C 중 어느 것입니까
문제 개요
코드 커밋
s = input()
l_s = len(s)
ans = 0
consequence_A = 0
i = 0
while i < l_s:
if s[i] == "A":
consequence_A += 1
elif i < l_s - 1 and s[i : i + 2] == "BC":
ans += consequence_A
i += 1
# print(ans, i, consequence_A)
else:
consequence_A = 0
i += 1
print(ans)
고찰하다.
실시 방침
다음의 반성
for i in range(l_x):
if ~~
elif i < l_s - 1 and s[i : i + 2] == "BC":
ans += consequence_A
i += 1
else: ~~
에 버그가 발생했다고 쓰여 있습니다.C++의 느낌과 마찬가지로 for회로에 1이동전화를 넣어도 의미가 없다
python의 for 순환은 in~에 적힌 서열형 순서대로 순환하는 동작이기 때문에 순환 중에 균형기가 바뀌어도 다음 순환에 영향을 주지 않습니다.(참조)
참고 자료
파이톤의 for문과 독자들이 C 언어와 Pascal 언어에 익숙해진 for문은 조금 다를 수 있습니다.(예: Pascal) 는 항상 산술 형식의 수열에서 반복되고, (예: C) 사용자가 반복 절차와 정지 조건을 정의할 수 있도록 하는 것과 달리, 파이톤의 for문은 임의의 시퀀스 형식 (목록이나 문자열) 에서 반복됩니다.반복 순서는 시퀀스에서 요소가 나타나는 순서입니다.
BC를 D로 미리 바꾸면 더 쉬울 거예요.(확실)
Reference
이 문제에 관하여(AGC034B-ABC 해설 [ptyhon]), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://zenn.dev/knk_kei/articles/agc034-b-abc텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)