728x90
반응형
문제
정답
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
Integer result = 0;
Integer seq = 0;
char beforeOX;
int num = Integer.parseInt(br.readLine());
for(int i = 0; i < num; i++) {
String OXstr = br.readLine();
beforeOX = OXstr.charAt(0);
if(beforeOX == 'O') {
result += 1;
seq += 1;
}
for(int j = 1; j < OXstr.length(); j++) {
// 연속으로 O일 경우
if(beforeOX == 'O' && OXstr.charAt(j) == 'O') {
seq += 1;
result += seq;
} else if (beforeOX == 'X' && OXstr.charAt(j) == 'O') { // X였다가 O가 됐을 경우
seq = 1;
result += 1;
}
beforeOX = OXstr.charAt(j);
}
System.out.println(result);
result = 0;
seq = 0;
}
}
}
그냥 경우의 수 생각하면서 코드 작성해줬습니다.
내가 생각한 로직이 바로 성공했을 때 그 쾌감... 뿌듯...
728x90
반응형
'Computer Science (CS) > 알고리즘' 카테고리의 다른 글
[백준/Java] 30802번 웰컴 키트 (1) | 2024.10.13 |
---|---|
[백준/Java] 4153번 직각삼각형 (2) | 2024.10.08 |
[백준/Java] 2920번 음계 (1) | 2024.10.04 |
[백준/Java] 2577번 숫자의 개수 (1) | 2024.09.30 |
[백준/Java] 2741번 N 찍기 (1) | 2024.09.23 |