문제
https://www.acmicpc.net/problem/8958
풀이
const input = require('fs').readFileSync('/dev/stdin').toString().split('\n');
let num = Number(input[0]);
for (let i = 1; i <= num; i++) {
let count = 0;
let sum = 0;
for (let j = 0; j < input[i].length; j++) {
if (input[i][j] === "O") {
count++;
} else {
count = 0;
}
sum += count;
}
console.log(sum);
}
[멘토님 풀이]
const line = require("fs").readFileSync("./input.txt").toString().split("\n");
for (let i = 1; i <= line[0]; i += 1) {
let contiguousOCounts = 0;
let score = 0;
for(let j = 0; j < line[i].length; j++) {
const char = line[i];
if (char[j] === "O") {
score += contiguousOCounts + 1;
contiguousOCounts += 1;
} else if (char[j] === "X") {
contiguousOCounts = 0
}
}
console.log(score);
}
연속되는 요소를 검사하거나 가져오고 싶으면 이중반복문을 써야한다..!