새벽_나그네
12시 지난 새벽
새벽_나그네
전체 방문자
오늘
어제
  • 분류 전체보기
    • TIL
    • DevLog
    • Algorithm
    • ComputerScience
    • etc

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 코딩프로젝트
  • 프로그래머스
  • til
  • 자기주도학습
  • 개발일지
  • 내일배움단
  • docker
  • 내일배움캠프
  • machine learning
  • Selenium 4
  • 국비지원
  • Python
  • 코딩
  • 스파르타코딩클럽
  • 내일배움카드
  • Github
  • portfolio
  • AI트랙
  • TodayILearned
  • 코린이

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
새벽_나그네

12시 지난 새벽

Algorithm

[백준_8958] OX퀴즈

2022. 5. 30. 23:31

문제 보기: https://www.acmicpc.net/problem/8958

 

8958번: OX퀴즈

"OOXXOXXOOO"와 같은 OX퀴즈의 결과가 있다. O는 문제를 맞은 것이고, X는 문제를 틀린 것이다. 문제를 맞은 경우 그 문제의 점수는 그 문제까지 연속된 O의 개수가 된다. 예를 들어, 10번 문제의 점수

www.acmicpc.net

문제

"OOXXOXXOOO"와 같은 OX퀴즈의 결과가 있다. O는 문제를 맞은 것이고, X는 문제를 틀린 것이다. 문제를 맞은 경우 그 문제의 점수는 그 문제까지 연속된 O의 개수가 된다. 예를 들어, 10번 문제의 점수는 3이 된다.

"OOXXOXXOOO"의 점수는 1+2+0+0+1+0+0+1+2+3 = 10점이다.

OX퀴즈의 결과가 주어졌을 때, 점수를 구하는 프로그램을 작성하시오.

 

입력

첫째 줄에 테스트 케이스의 개수가 주어진다. 각 테스트 케이스는 한 줄로 이루어져 있고, 길이가 0보다 크고 80보다 작은 문자열이 주어진다. 문자열은 O와 X만으로 이루어져 있다.

출력

각 테스트 케이스마다 점수를 출력한다.

 

풀이 과정

1. 간단한 문자열 판별 문제이다.

2. 문자열을 받아서 각 문자열을 for문을 이용하여 한 개씩 확인하고 그 값에 따라 'o'이면 temp값을 증가하면서 결과에 더한다.

3. 'o'가 아닌 경우에는 모두 필요없는 경우이므로 else문을 사용 temp를 0으로 초기화시켜서 result값에 더해주도록 한다.

 

코드

import sys

N = int(input())

for i in range(N):
   strs = sys.stdin.readline().rstrip()
   result = 0
   temp = 0
   for str in strs:
      if str == 'O':
         temp += 1
         result += temp
      else:
         temp = 0
         result += temp

   print(result)

 

저작자표시 비영리 변경금지 (새창열림)

'Algorithm' 카테고리의 다른 글

[백준_1152] 단어의 개수  (0) 2022.06.01
[백준_1065] 한수  (0) 2022.05.31
[백준_10871] x보다 작은 수  (0) 2022.05.29
[백준_14681] 사분면 고르기  (0) 2022.05.28
5-27[프로젝트] schedule_template 기능 구현 WIP  (0) 2022.05.27
    'Algorithm' 카테고리의 다른 글
    • [백준_1152] 단어의 개수
    • [백준_1065] 한수
    • [백준_10871] x보다 작은 수
    • [백준_14681] 사분면 고르기
    새벽_나그네
    새벽_나그네
    IT, 프로그래밍, 정보, 스마트스토어

    티스토리툴바