• 2주차 과제 - 점수 계산

image

- 사용 언어 : python
- 해결 날짜 : 2021-03-16

- 느낀점 및 해결 과정 :

    - 파이썬을 처음 사용하였기 때문에 익숙하지 않아 언어에 익숙해지는데
    시간이 좀 걸렸다. and 연산, or 연산도 &&, ||가 아닌 그냥  and or을
    사용하는게 충격적이었다.

    - 인자로 입력 받은 문자열인 test_str을 list()함수를 활용하여 list 형태로 바꾸었고, for in 문으로 그 list를 돌며 A가 연속될 때 마다 임시 변수인 temp를 1씩 증가시켜주고, 현재 테스트 케이스의 총점인 count에 temp를 추가하는 방법을 사용하였다. 만약 리스트의 현재 인덱스가 B라면 temp 값을 0으로 초기화하여 그 다음에 A가 나오더라도 1부터 다시 시작하도록 하였다.
    각 테스트 케이스를 돌며 그 케이스의 총점과 모든 테스트 케이스의 총점까지 출력하였다.



- 코드

```python
# 입력한 문자열의 점수를 측정하는 함수
def count_test_str(test_str):
    list_str = list(test_str)
    temp = 0
    count = 0
    # 각 A와 B에 대한 점수 측정
    for idx in list_str :
        if idx == 'A':
            temp += 1
            count += temp
        else :
            temp = 0

    return count


total = 0
score = 0
# 테스트 케이스의 개수 t
while True:
    t = int(input())
    if 0 < t <= 20: break

# 테스트 케이스의 개수만큼 반복
while t != 0:
    t -= 1
    # 테스트 케이스의 문자열 길이 검사
    test_case = input()
    score = count_test_str(test_case)
    total += score
    print("문자열 ", test_case, "의 총점 : ", score)


print("모든 테스트 케이스의 총점 : ", total)
```