백준 8958: OX퀴즈 :파이썬

태훈입니다·2022년 11월 30일
0

코테 풀이

목록 보기
18/34

정답 코드:

N = int(input())

l = [input() for x in range(N)]
for i in l:
    sum = 0
    cut = 0
    for j in range(len(i)):
        if (i[j] == 'O'):
            cut += 1
            sum += cut
        elif (i[j] == 'X'):
            cut = 0
    print(sum)

코드 풀이:

우선 내가 이걸 구글에 쳐보지도 않고 풀었다는게 너무 뿌듯하다.. 
실무자 분들에겐 쉬운 문제겠지만 나에겐 풀면서 엄청난 과정을 거쳤기에 ..
우선 OX퀴즈의 결과 수 N과
배열 ㅣ을 그 N만큼 입력 받는다.

그 뒤 이중 반복문을 사용했는데, 그 이유는 
배열 l을 차례대로 가져오고, 그 배열 값마다 index를 반복문을 거쳐 
점수를 계산하기 위해서였다.
for i in l: 에서
sum과 cut 값을 0으로 초기화해서, 각 OX퀴즈마다의 점수를 계산하려 했고
이중 for j in range(len(i)) 문에서는 각 배열의 길이만큼 인덱스값을 반복하
기 위해 사용했다. 
그 뒤 각 배열의 인덱스 값이 'O' 이면, cut를 1 증가시켜 sum에 cut를 누적시키도록
하고, 인덱스 값이 'X'일 땐 cut를 0으로 초기화시켜서 점수를 다시 계산하도록 코드를 짰다.
그 뒤 이중반복문을 빠져나와 sum을 프린트하면, 각 OX퀴즈의 점수가 나온다!
profile
개발 공부를 하고 있는 비전공자입니다!

0개의 댓글