코드일기장

백준(8958번: OX퀴즈)_Java 본문

PS/백준

백준(8958번: OX퀴즈)_Java

codeStudy123 2021. 10. 18. 19:45

제목: OX퀴즈

브론즈2

 

 

 

 

문제

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

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

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

입력

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

출력

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

 

 

 

문자열or문자 형태로 문제를 고민하면 쉬울 것이다. 다양한 문법이 골고루 섞인 문제이다 보니 나한테는 조금 어려웠지만 참고 코드를 보고 쉽게 풀렸다.

 

 

  • 10줄: test변수는 테스트케이스를 나타내는 변수이다.
  • 13줄: str[]배열은 사용자에게 입력받은 test변수만큼 배열을 길이를 선언해준다. str index 당 한줄 한줄을 입력받는다고 생각하면 된다.
  • 15줄: str배열의 index마다 한줄 한줄 ox를 입력받는다. 단순히 2차원 배열이라고 생각하면 쉬울 것 이다.
  • 16줄: 반복조건 j<str[i].length()는 str 한 줄에 입력받은 string개수보다 작을 때만 for문이 돌아 갈 것이다.
  • 17~20줄: 조건문을 통해 str[i]를 charAt(j)=='O' 1줄에 string값 하나하나를 비교하고 'O'가 나올시 score는 증가시키고 total에 더한다. 만약 'O'가 3번 연속 나왔다면 1+2+3이 total에 들어 갈 것이다.
  • 21~23줄: 'X'가 나올 시 score를 다시 0으로 초기화 한 후 다시 반복분에 들어간다.
  • 26~28줄: 지금까지 입력된 total변수 선언 후 total을 다시 0으로 초기화 하고 score도 다음줄의 'OX'를 구분 하기위해 0으로 초기화를 해준다.

 

 

 

알고리즘 분류

 

https://www.acmicpc.net/problem/8958

 

8958번: OX퀴즈

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

www.acmicpc.net

 

 

 

 

 

대표사진 웹 사이트

https://www.flaticon.com/kr/free-icon/algorithm_2431565?term=%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%98&page=1&position=33&page=1&position=33&related_id=2431565&origin=search 

 

 

<div>아이콘 제작자 <a href="https://www.flaticon.com/kr/authors/good-ware" title="Good Ware">Good Ware</a> from <a href="https://www.flaticon.com/kr/" title="Flaticon">www.flaticon.com</a></div>

 

 

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

백준 (4673번: 셀프 넘버)_Java  (0) 2021.11.03
백준 (4344번: 평균은 넘겠지)_Java  (5) 2021.10.23
백준 (1546번: 평균)_Java  (0) 2021.10.18
백준 (1978번: 소수 찾기)_Java  (2) 2021.10.12
백준 (3052번: 나머지)_Java  (2) 2021.10.11
Comments