달마루
기획자에서 개발자로
달마루
전체 방문자
오늘
어제
  • 분류 전체보기 (334)
    • 기획 이야기 (3)
    • 개발자로 전향한 이유 (1)
    • Github Address (1)
    • 개발자, 그 여정 (11)
      • 기초특강 (4)
      • 국비학원 선정 (4)
      • BitCamp_수업내용 (1)
      • 학원 프로젝트 후기 (1)
      • 정보처리기사 (1)
      • 개발 이야기 (0)
    • 개념 창고 (126)
      • JAVA (50)
      • CS (1)
      • Database (27)
      • NetWork (2)
      • 자료 구조 (2)
      • React (8)
      • Spring (3)
      • JPA (1)
      • HTML & CSS (18)
      • JS (3)
    • algorithm (186)
      • 백준 (161)
      • 프로그래머스 (23)
    • 사는 이야기 (0)

블로그 메뉴

  • Github
  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • Bronze III
  • 알고리즘풀이
  • 프로그래머스
  • 백준문제풀이
  • select
  • Algorithm
  • math
  • Bronze V
  • programmers
  • react
  • Scanner
  • java
  • 문제풀이
  • 백준알고리즘
  • sql 문제풀이
  • 혼공MySQL
  • BRONZE
  • BOJ algorithm
  • SQL
  • 알고리즘
  • SQL고득점Kit
  • 혼자공부하는SQL
  • Bronze IV
  • java algorithm
  • BOJ
  • 백준
  • 자바
  • MySQL
  • 혼공SQL
  • HTML

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
달마루

기획자에서 개발자로

[백준] OX퀴즈 - 8958 Java[자바]
algorithm/백준

[백준] OX퀴즈 - 8958 Java[자바]

2022. 12. 9. 23:38

[Bronze II] OX퀴즈 - 8958

문제 링크

 

8958번: OX퀴즈

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

www.acmicpc.net

성능 요약

메모리: 14300 KB, 시간: 132 ms

분류

구현(implementation), 문자열(string)

문제 설명

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

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

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

입력

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

출력

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

답 :  입력받은 수만큼 반복문을 돌린다.
입력받은 str의 길이만큼 반복문을 돌리되 O일 때,
plus를 1씩 증가시켜 score에 합산시키고
아닌 경우 0으로 초기화하여주고, 전체가 다 돌았을 때
score의 총 점수를 리턴한다. 

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        int n = Integer.parseInt(br.readLine());

        for (int i = 0; i < n; i++) {
            String str = br.readLine();
            int score = 0;
            int plus = 0;

            for (int j = 0; j < str.length(); j++) {
                if(str.charAt(j)=='O') {
                plus++;
                score += plus;
            }
                else plus = 0;
            }
            System.out.println(score);
        }
    }
}
저작자표시 비영리 변경금지 (새창열림)

'algorithm > 백준' 카테고리의 다른 글

[백준] 음계 - 2920 Java[자바]  (0) 2022.12.10
[백준] 숫자의 합 - 11720 Java[자바]  (0) 2022.12.10
[백준] 문자열 반복 - 2675 Java[자바]  (1) 2022.12.09
[백준] 최댓값 - 2562 Java[자바]  (0) 2022.12.09
새싹문제 All Clear  (0) 2022.12.08
    'algorithm/백준' 카테고리의 다른 글
    • [백준] 음계 - 2920 Java[자바]
    • [백준] 숫자의 합 - 11720 Java[자바]
    • [백준] 문자열 반복 - 2675 Java[자바]
    • [백준] 최댓값 - 2562 Java[자바]
    달마루
    달마루
    항상 어제보다 좋은 코드를 지향합니다. https://github.com/LimDongHyun99

    티스토리툴바