[백준][c] 8958번: OX퀴즈

2021. 6. 24. 18:39·Algorithm/백준
반응형

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만으로 이루어져 있다.

출력

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

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <string.h>
int main() {
	int num;
	char ox[80];
	int sum, add;	//sum: 최종점수 add: 추가점수

	scanf("%d", &num);

	for (int i = 0; i < num; i++) {	//테스트케이스 반복
		scanf("%s", ox);
		sum = 0; 
		add = 1;

		for (int i = 0; i < strlen(ox); i++) {	//strlen: 문자열의 길이
			if (ox[i] == 'O') {
				sum += add;
				add++;		//O가 연속되면 추가점수는 ++
			}
			else {
				add = 1;	// O의 연속이 끊겼을시 add를 1로 초기화
			}			
		}
		printf("%d\n", sum);
	}	
}

scanf받은 문자열의 길이를 구하는 방법으로는 두가지가 있겠습니다.

1. 헤더파일 <string.h>를 이용한 strlen함수 이용

2. 문자열 끝의 '\0'을 이용하여 for의 조건에 ox[i] != '\0'

sum은 여러 문제에서 많이 다뤄봤지만,

add를 활용하는 알고리즘을 

연습해야할 필요가 있습니다.

반응형
저작자표시 비영리 (새창열림)

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

[백준][C/C++] 15596번: 정수 N개의 합  (0) 2021.06.24
[백준][C/C++] 4344번: 평균은 넘겠지  (0) 2021.06.24
[백준][C/C++] 1546번: 평균  (0) 2021.06.24
[백준][c] 3052번: 나머지  (0) 2021.06.24
[백준][C/C++] 2577번 : 숫자의 개수  (0) 2021.06.24
'Algorithm/백준' 카테고리의 다른 글
  • [백준][C/C++] 15596번: 정수 N개의 합
  • [백준][C/C++] 4344번: 평균은 넘겠지
  • [백준][C/C++] 1546번: 평균
  • [백준][c] 3052번: 나머지
Giken
Giken
𝐒𝐲𝐬𝐭𝐞𝐦.𝐨𝐮𝐭.𝐩𝐫𝐢𝐧𝐭𝐥𝐧("𝐇𝐞𝐥𝐥𝐨 𝐖𝐨𝐫𝐥𝐝!");
  • Giken
    개발자 기켄
    Giken
  • 전체
    오늘
    어제
    • 분류 전체보기 (148)
      • Programming Language (26)
        • C (3)
        • C++ (2)
        • Java (19)
      • Web (4)
      • Database (1)
        • SQL (5)
      • Spring (10)
      • PHP (7)
      • Linux (1)
      • Server (1)
      • Infra (3)
      • Algorithm (74)
        • 백준 (71)
        • 프로그래머스 (0)
      • 프로젝트 (2)
      • Etc (8)
      • 낙서 (5)
  • 블로그 메뉴

    • GitHub
  • 링크

    • GitHub
  • 공지사항

  • 인기 글

  • 태그

    C
    1330
    SQL
    평년
    SQL고득점키트
    백준
    2588
    DB
    윤년
    9498
    2753
    프로그래머스
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
Giken
[백준][c] 8958번: OX퀴즈
상단으로

티스토리툴바