728x90
문제 링크 : https://www.acmicpc.net/problem/8958
백준 브론즈 2 문제 입니다.
내 코드
int _int = int.Parse(Console.ReadLine());
int _combo = 0;
int _score = 0;
for (int i = 0; i < _int; i++)
{
string _str = Console.ReadLine();
for (int j = 0; j < _str.Length; j++)
{
if (_str[j] == 'O')
{
++_combo;
_score += _combo;
}
else
{
_combo = 0;
}
}
Console.WriteLine(_score);
_combo = 0;
_score = 0;
}
코드 풀이 해석 내용
int _int = int.Parse(Console.ReadLine());
입력받은 값을 정수로 변환하여 _int 변수에 저장합니다.
이 값은 이후 반복문에서 사용할 입력 문자열의 갯수를 나타냅니다.
int _combo = 0;
int _score = 0;
점수를 저장할 _score와 연속된 'O'의 개수를 저장할 _combo를 0으로 초기화합니다.
for (int i = 0; i < _int; i++)
{
string _str = Console.ReadLine();
...
}
_int의 값만큼 반복하여 각 문자열을 입력 받습니다.
for (int j = 0; j < _str.Length; j++)
{
if (_str[j] == 'O')
{
++_combo;
_score += _combo;
}
else
{
_combo = 0;
}
}
입력돤 문자열의 각 문자에 대해서 반복합니다.
문자가 'O'일 경우 :
_combo의 값을 1 증가시키고, 현재 조합 수만큼 점수를 _score에 더합니다.
문자가 'X'일 경우 :
_combo를 0으로 초기화합니다.
Console.WriteLine(_score);
현재 문자열에 대한 최종 점수를 출력합니다.
_combo = 0;
_score = 0;
다음 문자열을 처리하기 위해 _combo와 _score를 다시 0으로 초기화 시킵니다.
실행 결과
728x90
'C#' 카테고리의 다른 글
백준 C# 1181 문제 풀이 (0) | 2024.09.16 |
---|---|
백준 C# 2839 문제 풀이 (0) | 2024.09.16 |
백준 C# 2920 문제 풀이 (0) | 2024.09.15 |
백준 C# 10250 문제 풀이 (0) | 2024.09.15 |
백준 C# 2231 문제 풀이 (0) | 2024.09.13 |