문제해설
해당 문제는 처음에 입력한 숫자만큼 O와 X의 배열이 한줄씩 주어지고 해당하는 점수를 산출하여 각각 출력하는 문제이다.
반복문을 이중으로 사용했다. 첫 반복문은 처음에 입력한 숫자만큼 반복하여 모든 배열을 받을 수 있도록 설정하고, 두번째 반복문은 각 배열마다 O와 X의 점수를 산정하여 차근차근 점수를 매길 수 있도록 설정하였다.
여기에서 O일 경우 eachScore를 1씩 증가시켜 totalScore에 더하게 하고 X일 경우 eachScore를 초기화 시켰다.
결과코드
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
public class Main {
public static void main(String args[]) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int tNum = Integer.parseInt(br.readLine());
int eachScore;
int totalScore;
for (int i = 0; i < tNum; i++){
totalScore = 0;
eachScore = 0;
String result = br.readLine();
for (int j = 0; j < result.length(); j++){
if (result.charAt(j) == 'O') {
eachScore++;
totalScore += eachScore;
} else {
eachScore = 0;
}
}
System.out.println(totalScore);
}
}
}
배운점
if (result.charAt(j) == 'O') 해당 문장에서
- string문장.charAt()에 대한 메소드를 처음 사용해보았다. 해당 메소드를 통해 나온 리턴값은 char형이다.
- 'O'는 char형, "O"는 string형 이다.
» 제가 작성한 글의 내용중 잘못된 부분 및 수정해야 할 사항이 있으면 댓글로 말씀부탁드립니다.
확인 후 다시 공부하여 수정하도록 하겠습니다. 끝까지 읽어주셔서 감사합니다 !! 😀
'Algorithm' 카테고리의 다른 글
백준 1157번 JAVA (단어공부 알파벳 찾기) (0) | 2023.03.01 |
---|---|
백준 2675번 JAVA (문자열 반복) (0) | 2023.02.25 |
백준 3052번 JAVA (나머지) (0) | 2023.02.19 |
백준 5597번 JAVA (과제 안 내신 분..?) (0) | 2023.02.17 |
백준 2562번 JAVA11(배열 최댓값) (0) | 2023.02.16 |