Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- dataframe
- 선그래프
- Stack
- javascript
- pandas
- Join
- 알고리즘
- aws jupyter notebook
- 가상환경
- MySQL
- 코딩테스트
- Algorithm
- 정보처리기사 c언어
- 알고리즘 스터디
- openCV
- type hint
- NumPy
- queue
- 프로그래머스
- Matplotlib
- 백준
- Selenium
- String Method
- 알고리즘스터디
- 데이터시각화
- 자료구조
- python
- programmers
- 파이썬
- 노마드코딩
Archives
- Today
- Total
조금씩 꾸준히 완성을 향해
[Algorithm] 백준 8958 OX퀴즈 with Python 본문
문제
"OOXXOXXOOO"와 같은 OX퀴즈의 결과가 있다. O는 문제를 맞은 것이고, X는 문제를 틀린 것이다. 문제를 맞은 경우 그 문제의 점수는 그 문제까지 연속된 O의 개수가 된다. 예를 들어, 10번 문제의 점수는 3이 된다.
"OOXXOXXOOO"의 점수는 1+2+0+0+1+0+0+1+2+3 = 10점이다.
OX퀴즈의 결과가 주어졌을 때, 점수를 구하는 프로그램을 작성하시오.
입력
첫째 줄에 테스트 케이스의 개수가 주어진다. 각 테스트 케이스는 한 줄로 이루어져 있고, 길이가 0보다 크고 80보다 작은 문자열이 주어진다. 문자열은 O와 X만으로 이루어져 있다.
출력
각 테스트 케이스마다 점수를 출력한다.
예제 입력 1
5
OOXXOXXOOO
OOXXOOXXOO
OXOXOXOXOXOXOX
OOOOOOOOOO
OOOOXOOOOXOOOOX
예제 출력 1
10
9
7
55
30
내가 짠 코드
t = int(input())
for _ in range(t):
quiz = input()
res = 0
cnt = 0
for x in quiz:
if x == 'O':
cnt += 1
else:
cnt = 0
res += cnt
print(res)
지난 번에 연습해 봤던 문제가 구현이 거의 비슷해 큰 어려움 없이 풀 수 있었다.
변수 값을 0으로 초기화 할 때 어디 위치에 넣어야 하는지 아직은 바로바로 떠오르지 않는다.
머리로 과정을 돌려보고 한참 생각하면 그래도 구현이 가능하지만, 사고의 속도가 좀 더 빨리지면 좋겠다.
얼마 전에 포스팅한 거의 비슷한 문제 첨부!
https://allsound.tistory.com/38?category=1029640
'DataStructure & Algorithm > 문제풀이' 카테고리의 다른 글
[Algorithm] 백준 4344 평균은 넘겠지 with Python (0) | 2022.09.25 |
---|---|
[Algorithm] 백준 1065 한수 with Python (0) | 2022.09.22 |
[Algorithm] 백준 2525 오븐 시계 with Python (0) | 2022.09.16 |
[Algorithm] 부분 수열의 합 (0) | 2022.09.13 |
[Algorithm] 기초 문제 / 카드 역배치 (0) | 2022.09.06 |