-
[BaekJoon Java] OX퀴즈(8958)Coding Test/BaekJoon 2020. 12. 12. 20:39
- 문제
"OOXXOXXOOO"와 같은 OX퀴즈의 결과가 있다. O는 문제를 맞은 것이고, X는 문제를 틀린 것이다. 문제를 맞은 경우 그 문제의 점수는 그 문제까지 연속된 O의 개수가 된다. 예를 들어, 10번 문제의 점수는 3이 된다.
"OOXXOXXOOO"의 점수는 1+2+0+0+1+0+0+1+2+3 = 10점이다.
OX퀴즈의 결과가 주어졌을 때, 점수를 구하는 프로그램을 작성하시오.
- 예제 입출력
- 풀이
1234567891011121314151617181920212223242526272829303132333435363738394041424344package step.array;import java.util.Scanner;/**"OOXXOXXOOO"와 같은 OX퀴즈의 결과가 있다. O는 문제를 맞은 것이고, X는 문제를 틀린 것이다.문제를 맞은 경우 그 문제의 점수는 그 문제까지 연속된 O의 개수가 된다. 예를 들어, 10번 문제의 점수는 3이 된다."OOXXOXXOOO"의 점수는 1+2+0+0+1+0+0+1+2+3 = 10점이다.OX퀴즈의 결과가 주어졌을 때, 점수를 구하는 프로그램을 작성하시오.*/public class OxQuiz {public static void main(String[] args) {Scanner sc = new Scanner(System.in);int test = 0;test = sc.nextInt();for ( int i=0; i < test; i++ ) {String oxStr = "";oxStr = sc.next();int cnt = 0;int result = 0;for ( int j = 0; j < oxStr.length() ; j ++ ) {char o = 'O';char x = 'X';char oneStr = oxStr.charAt(j);if ( o == oneStr ) {cnt ++;result += cnt;}else if ( x == oneStr ) {cnt = 0;}}System.out.println(result);}}}cs - 결과
- 추가설명
Array 단계인데 Array로 안풀었다...
런타임 에러가 계속 나서 문제를 찾아봤더니 Sanner를 2개 쓰는게 문제가 되었다..
nextInt(), nextLine()를 같이 쓰면 문제 발생
그래서 Scanner를 새로 생성했더니 런타임 에러..
nextLine() -> next()로 변경해서 해결했다
'Coding Test > BaekJoon' 카테고리의 다른 글
[BaekJoon Java] 정수 N개의 합(15596) (0) 2020.12.13 [BaekJoon Java] 평균은 넘겠지(4344) (0) 2020.12.13 [BaekJoon Java] OX퀴즈(8958) (0) 2020.05.15 [BaekJoon Java] 평균(1546) (0) 2020.05.15 [BaekJoon Java] 나머지(3052) (0) 2020.05.15