문제
나의 풀이
문자열 배열을 만들고, 그 배열에 테스트케이스를 "X"를 기준으로 분리해서 넣었다. 문자열 배열에는 O와 공백(아무것도 없음)만이 남았고, 그 배열의 요소의 길이를 구한 다음, 연속으로 더해줬다. ( O가 연속 3개 있으면, 6점 ) 그렇게 모든 테스트케이스를 계산하면 끝이다.
나의 방법이 꽤 복잡했지만, 오래 걸리지 않았다. 아직 다른 사람 풀이를 보지 않아, 다른 사람들은 어떻게 풀었을지 기대가 된다.
package baekjunOnlineJudge;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
public class Bj_8958 {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
int quizCount = Integer.parseInt(br.readLine());
String[] oneOXListContainer = new String[quizCount];
for(int i=0; i<quizCount; i++) {
int score = 0;
oneOXListContainer = br.readLine().split("X");
int lengthOfOXContainer = oneOXListContainer.length;
for(int j=0; j<lengthOfOXContainer; j++) {
int continuousOCount = oneOXListContainer[j].length();
for(int h=1; h<=continuousOCount; h++) {
score+=h;
}
}
bw.write(score+"\n");
}
bw.flush();
bw.close();
}
}
'프로그래밍-학습기록 > 코딩테스트' 카테고리의 다른 글
백준 온라인 저지 | 4673 | 함수: 셀프 넘버 (0) | 2020.07.31 |
---|---|
백준 온라인 저지 | 4344 | 배열: 평균은 넘겠지 (0) | 2020.07.29 |
백준 온라인 저지 | 1546 | 배열: 평균 (0) | 2020.07.28 |
백준 온라인 저지 | 3052 | 배열: 나머지 (0) | 2020.07.28 |
백준 온라인 저지 | 2577 | 배열: 숫자의 개수 (0) | 2020.07.27 |