코딩테스트

백준 8958

KUROMI98 2023. 2. 1. 14:39

https://www.acmicpc.net/problem/8958

 

8958번: OX퀴즈

"OOXXOXXOOO"와 같은 OX퀴즈의 결과가 있다. O는 문제를 맞은 것이고, X는 문제를 틀린 것이다. 문제를 맞은 경우 그 문제의 점수는 그 문제까지 연속된 O의 개수가 된다. 예를 들어, 10번 문제의 점수

www.acmicpc.net

 

// 1단계: O를 만나면 cnt를 1 늘려주고 cnt를 arr에 push해준다. for문으로 반복
// 2단계: X를 만나면 cnt를 0으로 만들고 arr에 push해준다.
// 3단계: arr의 모든 원소들을 다 더해 return해준다.

function solution(target) 
{
    let arr = [];
    let cnt = 0;
    
    for(i=0; i<target.length; i++) 
    {
        if(target[i]=="O") 
        {
            cnt++;
            arr.push(cnt);
        }
        else 
        {
            cnt = 0;
        }
    }
    
    let answer = 0
    
    for(let j=0; j<arr.length;j++)
    {
        answer += arr[j];
    }

	return answer;
}

console.log(solution('OOXXOXXOOO'))
console.log(solution('OOXXOOXXOO'))
console.log(solution('OXOXOXOXOXOXOX'))
console.log(solution('OOOOOOOOOO'))
console.log(solution('OOOOXOOOOXOOOOX'))