문제
8958번: OX퀴즈
"OOXXOXXOOO"와 같은 OX퀴즈의 결과가 있다. O는 문제를 맞은 것이고, X는 문제를 틀린 것이다. 문제를 맞은 경우 그 문제의 점수는 그 문제까지 연속된 O의 개수가 된다. 예를 들어, 10번 문제의 점수
www.acmicpc.net
알고리즘
- 반복문을 통해 테스트 케이스를 실행한다.
- 점수의 변수를 res로 정하고 점수에 더해줄 변수를 cnt로 정한다.
- 반복문을 통해 문자열을 확인하고 문자가 'O'라면 점수에 cnt를 더해주고 cnt에 +1을 더해준다.
- 문자가 'X'라면 cnt를 1로 초기화해준다.
코드
import sys
n = int(sys.stdin.readline())
# 반복문을 통해 테스트 케이스를 실행
for _ in range(n):
m = list(map(str, sys.stdin.readline().strip()))
res = 0 # 점수
cnt = 1
# 반복문을 통해 문자열을 확인
for i in m:
# 문자가 'O' 라면 점수에 cnt 를 더하고 cnt 는 +1 해준다.
if i == "O":
res += cnt
cnt += 1
# 문자가 'X' 라면 점수를 더하지 않고 cnt 를 1로 초기화 해준다.
else:
cnt = 1
print(res) # 점수 출력
github
GitHub - junjange/CodingTest: 내가 푼 코딩 테스트 문제와 해결법
내가 푼 코딩 테스트 문제와 해결법. Contribute to junjange/CodingTest development by creating an account on GitHub.
github.com
'CodingTest > Baekjoon' 카테고리의 다른 글
[baekjoon] 백준 2675번(파이썬): 문자열 반복 (0) | 2021.12.18 |
---|---|
[baekjoon] 백준 1152번(파이썬): 단어의 개수 (0) | 2021.12.17 |
[baekjoon] 백준 11720번(파이썬): 숫자의 합 (0) | 2021.12.15 |
[baekjoon] 백준 11722번(파이썬): 가장 긴 감소하는 부분 수열 (0) | 2021.12.14 |
[baekjoon] 백준 11055번(파이썬): 가장 큰 증가 부분 수열 (0) | 2021.12.13 |