• [백준/JAVA] 8958번 OX 퀴즈 풀이

    2021. 10. 2.

    by. 하루플스토리

    반응형

    안녕하세요, 하루플 입니다.

    이번에는 자바 OX 퀴즈 문제를 풀어보았습니다.

     

    문제

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

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

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

     

    입력

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

     

    출력

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


     

    먼저 int t = sc.nextInt(); 를 통해 테스트케이스 개수를 입력받습니다.

    이후 첫번째 for 문으로 테스트 케이스 만큼의 OX 값을 입력받습니다.

     

    두번째 for문을 시작하기 전에 반드시 sum과 cnt를 첫번째 for문 내부에 써야하는데요,

    문제는 OX 문제 한 줄당 점수를 표시해야하는데, 만약 sum과 cnt 변수를 밖에 선언하면 전체 점수 값이 누적되버립니다.

     

    두번째 for문으로 str 길이 만큼 반복해줍니다.

    charAt을 사용하여 O 의 개수를 읽고, cnt 로 카운팅 해줍니다. 만약 O가 검출 안된 경우는

    else cnt = 0; 으로 카운팅 값을 초기화해주면 되죠.

     

    마지막으로 sum을 출력하면 됩니다.

    그런데 콘솔에서 이렇게 올바르게 출력되는데 백준에 그대로 복사 붙혀넣기하니 컴파일 에러라고 뜨네요...

    이상한데.. 하여튼 이클립스로 올바르게 실행되는 것은 확인했습니다!

     

     

    아래는 문제를 풀면서 참고한 사이트입니다.

    https://hellodoor.tistory.com/68

     

     

     

     

    반응형

    댓글