백준
[백준] 8958번 : OX퀴즈 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트
우당탕탕 개발자
2023. 6. 29. 14:00
728x90
반응형
8958번: OX퀴즈
"OOXXOXXOOO"와 같은 OX퀴즈의 결과가 있다. O는 문제를 맞은 것이고, X는 문제를 틀린 것이다. 문제를 맞은 경우 그 문제의 점수는 그 문제까지 연속된 O의 개수가 된다. 예를 들어, 10번 문제의 점수
www.acmicpc.net
1. 문제 설명
2. 풀이과정
- 처음에 테스트 케이스의 개수를 입력받는다. N = int(input())
- 각 테스트 케이스를 입력받을 공백 리스트를 생성한다. result = list()
- 케이스의 개수만큼 반복을 진행한다. for i in range(N)
- 각 테스트 케이스를 입력받아 리스트에 추가한다. result.append(input())
- 저장한 각 테스트 케이스를 하나씩 추출한다. for i in result
- 테스트 케이스의 O, X를 저장할 새로운 리스트를 생성한다. li = list()
- 각 케이스별 문자를 하나씩 추출한다. for j in i
- 각 문자를 리스트에 하나씩 추가한다. li.append(j)
- 점수와 O의 개수를 저장할 변수를 생성하고 초기화한다. grade = 0 point = 0
- 각 케이스의 O, X 문자를 저장할 리스트의 개수만큼 반복한다. for j in range(len(li))
- 만약 문자가 X이면 O의 개수를 저장하는 변수를 0으로 바꾼다. if (li[j] == "x"): point = 0
- 반면에 문자가 O이면 O의 개수를 저장하는 변수를 1 증가시킨다. else: point += 1
- 점수에 O의 개수를 저장한 값을 더한다. grade += point
- 최종 점수를 출력한다. print(grade)
반응형
3. 소스코드
N = int(input())
result = list()
for i in range(N) :
result.append(input())
for i in result :
li = list()
for j in i :
li.append(j)
grade = 0
point = 0
for j in range(len(li)) :
if (li[j] == "X") :
point = 0
else :
point += 1
grade += point
print(grade)
728x90
반응형