코테/백준
[백준/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 |
반응형