JavaScript 백준 8958 OX퀴즈
🔥백준 8958 OX퀴즈
const input = require('fs').readFileSync('/dev/stdin').toString().split('\n');
const num = Number(input[0]);
for (let i = 1; i <= num; i++) {
let sum = 0;
let count = 0;
for (let j = 0; j < input[i].length; j++ {
if (input[i][j] === "O") {
count++;
} else {
count = 0;
}
sum += count;
}
console.log(sum);
}
🧵풀이
케이스 숫자를 num로 지정해주고 for 문을 케이스 만큼 실행한다.
이때 중첩 for문을 사용하여 input[i][j]가 문자"O"일 경우에는
count에 ++를 한다.
그럼 이 경우 i = 1, j = 0, count = 1 인 상태가 된다.
2번 for문의 sum으로 넘어가 count만큼을 더해준다.
다시 2번 for문의 시작부분으로 돌아가 작업을 시작하여 "O"가
아닌 부분을 마주치게 된다면 count를 0으로 바꿔준다.
이 때 sum은 여전히 count를 더해준 값 그대로이다.이렇게 마지막
작업이 끝나게 되면 1번 for문의 console.log(sum)을 실행해주고
i를 ++ 한 상태로 다시 2번 for문으로 돌아가 이전의 작업을 다른
케이스로 진행하게 된다.
공부하는 중이라 글이 깔끔하지 못하거나 틀린부분이 있을 수 있습니다.
더 좋은 방법이 있거나 풀이에 틀린 부분이 있다면 말씀해주십쇼😮
Author And Source
이 문제에 관하여(JavaScript 백준 8958 OX퀴즈), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@gkswn45/JavaScript-8958-OX퀴즈저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)