코드 n = int(input()) d = [] for i in range(n): sum = 0 score = 0 case = input() for j in range(len(case)): if case[j] == 'O': score += 1 sum += score else : score = 0 d.append(sum) for K in d: print(K) 문자열에서 'O'가 연속적으로 있는 경우는 if case[j] =='O' 를 통해 score 값으로 1씩 올리며 더해준다. else절에서 score값을 0으로 다시 초기화함으로써 X일때를 표현한다.
코드 c = int(input()) d = [] for i in range(c): tol = 0 avg = 0 count = 0 n_score = list(map(int, input().split())) tol = sum(n_score) - n_score[0] avg = tol/(len(n_score)-1) for j in range(1, len(n_score)) : if n_score[j] > avg : count += 1 d.append((count/(len(n_score)-1))*100) for k in range(c): print(f'{d[k]:.3f}%') 총합 변수 tol, 평균 변수 avg, 각 테스트 케이스에서 평균 보다 높은 점수의 개수는 count 변수로 저장을 하였다. tol에서는 각..
word = input() alphabet = 'abcdefghijklmnopqrstuvwxyz' count = 1 for i in range(len(word)-1): if alphabet.index(word[i]) < alphabet.index(word[i+1]) : continue else : count += 1 print(count) 현재 글자의 인덱스 값보다 다음 인덱스 값의 알파벳이 뒤에 있으면 입력횟수를 최소화 할 수 있으므로 index()함수를 사용하여 위치를 구하여 비교한다. 또는 alphabet변수 사용없이 아스키코드를 이용해 풀 수도 있다. if ord(word[i]) < ord(word[i+1]) :