-
[백준/Java] 8958번 - OXProblem Solving 2022. 3. 27. 22:30
큰따옴표는 문자열(string)을 표현할 때 쓰고, 작은따옴표는 문자(character)를 표현할 때 쓴다는 걸 이제야 알았다.
에러 내용 이것 때문에 시간을 꽤 허비했다. 기초의 중요성을 깨달았다.
입력될 문자열의 수를 나타낼 정수 N, 그리고 매 줄마다 O와 X로 이루어진 문자열이 주어지면 연속되는 O의 갯수에 따라 점수를 메겨 출력하는 문제다.
예를 들어,
1
OOXOOOXO
와 같이 입력된다면 점수는 1+2, 1+2+3, 1 의 합이 된다.
어쨌든, 이 문제는 다음과 같이 해결했다.
import java.io.*; public class Main{ public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int N = Integer.parseInt(br.readLine()); // 주어질 문자열의 수 for (int i=0;i<N;i++) { String OX = br.readLine(); // 문자열 한 줄 읽기 int count = 1; // 연속되는 O의 수에 따라 1씩 증가시킬 변수 int sum = 0; // 점수 합 저장할 변수 for (int j=0;j<OX.length();j++) { if (OX.charAt(j)=='X') { count = 1; // X 만날 경우 1로 초기화 } else { // O일 경우 sum에 1, 2, 3, ... 더함 sum += count; count++; } } System.out.println(sum); } } }
'Problem Solving' 카테고리의 다른 글
[백준/Java] 4673번 - Self Number (0) 2022.04.03 [백준/Java] 4344번 - 평균 이상 비율 구하기 (0) 2022.03.27 [백준/Java] 1546번 - 새로운 평균 (0) 2022.03.27 [백준/Java] 3052번 - 42로 나눈 나머지 가짓수 세기 (0) 2022.03.27 [백준/Java] 2577번 - 숫자의 개수 (0) 2022.03.27