문제 내용은 입력으로 테스트 케이스 갯수와, O, X로 이루어진 문자열을 받은 뒤 점수를 계산해서 출력해줘야 하는데 O가 연속으로 나오면 1점에서 시작해서 2점 3점.. 이런 식으로 점수가 증가하고 X를 만나면 O를 만나도 다시 1점부터 증가하게 된다.
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));
int count = Integer.parseInt(br.readLine());
for (int i = 0; i < count; i++) {
String[] split = br.readLine().split("");
int score = 0;
int incre = 1;
for (String s : split) {
if (s.equals("O")) {
score += incre;
incre += 1;
} else {
incre = 1;
}
}
System.out.println(score);
}
}
}
문제를 풀어보자면 입력받은 횟수만큼 for 문을 돌리면서, OX 문자열을 Split으로 쪼개주고, 이후 하나씩 확인하되 O가 나오면 점수인 incre를 1씩 올려주며 진행하다, X가 나오면 1로 초기화 시키는 식으로 점수를 계산한 뒤, 케이스별 점수를 출력해주면 끝이다.
Leave a Reply