코테/백준

[백준/JAVA] 8958번: OX퀴즈

imname1am 2023. 6. 7. 00:45
반응형

🔺 문제

 

8958번: OX퀴즈

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

www.acmicpc.net

 

🔺 코드

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
import java.util.*;
import java.io.*;
 
public class Main{
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        StringBuilder sb = new StringBuilder();
        
        int n = Integer.parseInt(br.readLine());
        
        for(int i = 0 ; i < n ; i++) {
            char[] ch = br.readLine().toCharArray();
            int cnt = 0;
            int sum = 0;
            
            for(int j = 0 ; j < ch.length ; j++) {
                if(ch[j] == 'O') {
                    cnt++;
                    sum += cnt;
                } else {
                    cnt = 0;
                }
            }
            sb.append(sum).append("\n");
        }
        System.out.println(sb);
    }
}
cs
✅ 해결 아이디어
✔ 구현
- x번의 y문제 결과가 O면 O의 갯수를 +1해서 구하고, 이 갯수를 점수에 누적해 더한다.
- x번의 y문제 결과가 X면 O의 갯수를 0으로 초기화한다.

 


🔺 다른 풀이들

- 향상형 for문 사용. 메모리랑 시간은 일반 for문보다 더 크지만..

 

로그인

 

www.acmicpc.net

 


💬 느낀 점

브론즈 문제 마음이 편안...

 

1회독 2회독 3회독 4회독 5회독
V        
반응형