728x90
반응형
이번 포스팅은 www.acmicpc.net/problem/8958에서 푼 것을 토대로 작성했습니다.
1차원 배열의 여섯 번째 문제인 OX 퀴즈입니다.
문제.
테스트 케이스를 받고
OX의 개수를 세어 점수를 매기는 프로그램입니다.
하지만 단순히 O의 개수를 세는 것이 아니라
연속된 O에는 점수를 더 받는 프로그램으로
예를 들어 OXOOO 라면 1+0+1+2+3으로 계산되어야 합니다.
코딩.
n = int(input())
for i in range(n):
a = list(input())
score = 0
sum = 0
for j in a:
if j == 'O':
score += 1
else :
score = 0
sum = sum + score
print(sum)
저는 처음에 문제를 풀 때
지난 문제처럼 빈 리스트를 만들고 append로 추가하려고 했지만
list(input())으로 받는 것과 append로 추가한 것이 다른 것을 깨닫고
위의 방법으로 하였습니다
list(input())로 리스트로 입력받고 for문을 하나 더 만들어
a의 요소들을 조건으로 if문을 만들어 O와 X를 판별하여
점수를 오르게 하였습니다.
score += 1 한 것은 중첩되는 점수를 계산하기 위함이고
sum을 만든 것은 총점수를 계산하기 위해서 만들었습니다.
다음 포스팅으로 찾아오겠습니다 :)
728x90
반응형
'Python > 백준 알고리즘' 카테고리의 다른 글
[BaekJoon/Python] : 백준 15596번 - 정수 N개의 합 (0) | 2021.01.03 |
---|---|
[BaekJoon/Python] : 백준 4344번 - 평균은 넘겠지 (0) | 2021.01.02 |
[BaekJoon/Python] : 백준 1546번 - 평균 (0) | 2021.01.02 |
[BaekJoon/Python] : 백준 3052번 - 나머지 (0) | 2021.01.01 |
[BaekJoon/Python] : 백준 2577번 - 숫자의 개수 (0) | 2020.12.31 |