이번에 풀어볼 문제는 OX퀴즈 풀이입니다.
해당 문제를 풀면서 데이터를 변환하는 과정에서 시행 착오를 겪었습니다.
풀고 나면 쉬운 문제인 것 같습니다.
해당 문제에 대한 풀이 입니다.
1. 먼저 테스트 케이스의 개수가 주어져야 하기 때문에 테스트 케이스 개수를 입력 받습니다.
2. 저는 String 배열인 tcase 배열의 크기를 테스트 케이스 개수로 설정하였습니다.
3. tcase 배열안에 OX 예제를 입력 받습니다.
4. 입력받은 데이터를 가공해야 하는데 저는 char 형태로 1개씩 뽑아 O인지 비교를 했습니다.
5. 그 후 데이터가 O이면 plus = plus + 1 해주고 count += plus 처리를 했습니다. 그러면 O가 한개이면 +1이고 2개이면 plus는 +2가 되고 count + plus를 하면 1 + 2 = 3 이 되겠죠? 이런식으로 진행 했고, 아닌 경우에는 초기화를 시켜 줬습니다.
package test;
import java.util.Scanner;
public class Main
{
public static void main(String[] args)
{
Scanner in = new Scanner(System.in);
int tc = in.nextInt(); //테스트 케이스 개수
String[] tcase = new String[tc];
int count = 0;
int plus = 0;
for(int i = 0; i < tc; i++)
{
tcase[i] = in.next();
}
in.close(); //입력 종료
for(int i = 0; i < tcase.length; i++)
{
count = 0;
plus = 0;
for(int j = 0; j < tcase[i].length(); j++)
{
if(String.valueOf(tcase[i].charAt(j)).equals("O")){
plus++;
count += plus;
}else{
plus = 0;
}
}
System.out.println(count);
}
}
}
이상으로 해당 문제를 풀어봤습니다.
크게 어려운 건 없었지만
다양한 형태로 풀이가 가능하기 때문에 문제를 풀고
다른분들이 푼 코드를 보며 해결도 해주고 비교도 해보시길 바랍니다.
감사합니다.
'DEV > Algorithm' 카테고리의 다른 글
[백준] 11720번 : 숫자의 합 (0) | 2022.05.18 |
---|---|
[백준] 1065번 : 한수 - Java(자바) (0) | 2022.05.18 |
[백준] 1546번: 평균 풀이 (0) | 2022.05.10 |
[JAVA] NoSuchElementjava.util.NoSuchElementException는 존재하지 않는 것을 가져오려고 할 때 발생합니다. (0) | 2022.05.03 |
[백준알고리즘] 2884번 : 알람 시계 (0) | 2022.04.28 |